@replohq/sdk 0.1.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 (280) hide show
  1. package/LICENSE +11 -0
  2. package/_vendor/replo-utils/lib/crypto.d.ts +30 -0
  3. package/_vendor/replo-utils/lib/errors.d.ts +83 -0
  4. package/_vendor/replo-utils/lib/json.d.ts +6 -0
  5. package/_vendor/replo-utils/lib/json.mjs +43 -0
  6. package/_vendor/replo-utils/lib/misc.d.ts +145 -0
  7. package/_vendor/replo-utils/lib/object.d.ts +31 -0
  8. package/_vendor/schemas/errors.d.ts +459 -0
  9. package/_vendor/schemas/generated/consent.d.ts +55 -0
  10. package/_vendor/schemas/generated/errors.d.ts +61 -0
  11. package/_vendor/schemas/loaderKeys.d.ts +1 -0
  12. package/_vendor/schemas/loaderKeys.mjs +27 -0
  13. package/_vendor/schemas/money.d.ts +60 -0
  14. package/_vendor/schemas/money.mjs +2051 -0
  15. package/analytics/analytics-provider.d.ts +16 -0
  16. package/analytics/analytics-provider.js +113 -0
  17. package/analytics/analytics-provider.js.map +7 -0
  18. package/analytics/analytics-sink.d.ts +26 -0
  19. package/analytics/analytics-sink.js +1 -0
  20. package/analytics/analytics-sink.js.map +7 -0
  21. package/analytics/get-analytics-sinks.d.ts +27 -0
  22. package/analytics/get-analytics-sinks.js +52 -0
  23. package/analytics/get-analytics-sinks.js.map +7 -0
  24. package/analytics/hooks/use-product-viewed-analytics.d.ts +23 -0
  25. package/analytics/hooks/use-product-viewed-analytics.js +34 -0
  26. package/analytics/hooks/use-product-viewed-analytics.js.map +7 -0
  27. package/analytics/replo-first-party-pixel.d.ts +12 -0
  28. package/analytics/replo-first-party-pixel.js +31 -0
  29. package/analytics/replo-first-party-pixel.js.map +7 -0
  30. package/analytics/replo-pixel-script.d.ts +13 -0
  31. package/analytics/replo-pixel-script.js +30 -0
  32. package/analytics/replo-pixel-script.js.map +7 -0
  33. package/analytics/sinks/ga4-sink.d.ts +15 -0
  34. package/analytics/sinks/ga4-sink.js +60 -0
  35. package/analytics/sinks/ga4-sink.js.map +7 -0
  36. package/analytics/sinks/meta-sink.d.ts +14 -0
  37. package/analytics/sinks/meta-sink.js +56 -0
  38. package/analytics/sinks/meta-sink.js.map +7 -0
  39. package/analytics/sinks/pinterest-sink.d.ts +14 -0
  40. package/analytics/sinks/pinterest-sink.js +76 -0
  41. package/analytics/sinks/pinterest-sink.js.map +7 -0
  42. package/analytics/sinks/reddit-sink.d.ts +14 -0
  43. package/analytics/sinks/reddit-sink.js +80 -0
  44. package/analytics/sinks/reddit-sink.js.map +7 -0
  45. package/analytics/sinks/replo-sink.d.ts +14 -0
  46. package/analytics/sinks/replo-sink.js +57 -0
  47. package/analytics/sinks/replo-sink.js.map +7 -0
  48. package/analytics/sinks/snapchat-sink.d.ts +14 -0
  49. package/analytics/sinks/snapchat-sink.js +67 -0
  50. package/analytics/sinks/snapchat-sink.js.map +7 -0
  51. package/analytics/sinks/tiktok-sink.d.ts +14 -0
  52. package/analytics/sinks/tiktok-sink.js +79 -0
  53. package/analytics/sinks/tiktok-sink.js.map +7 -0
  54. package/analytics/sinks/window-sink.d.ts +18 -0
  55. package/analytics/sinks/window-sink.js +46 -0
  56. package/analytics/sinks/window-sink.js.map +7 -0
  57. package/analytics/utils/analytics-utils.d.ts +7 -0
  58. package/analytics/utils/analytics-utils.js +130 -0
  59. package/analytics/utils/analytics-utils.js.map +7 -0
  60. package/analytics/utils/navigation-tracker.d.ts +16 -0
  61. package/analytics/utils/navigation-tracker.js +44 -0
  62. package/analytics/utils/navigation-tracker.js.map +7 -0
  63. package/analytics/utils/shopify-funnel-gate.d.ts +8 -0
  64. package/analytics/utils/shopify-funnel-gate.js +22 -0
  65. package/analytics/utils/shopify-funnel-gate.js.map +7 -0
  66. package/cart/buy-now-action.d.ts +21 -0
  67. package/cart/buy-now-action.js +104 -0
  68. package/cart/buy-now-action.js.map +7 -0
  69. package/cart/cart-actions.d.ts +63 -0
  70. package/cart/cart-actions.js +90 -0
  71. package/cart/cart-actions.js.map +7 -0
  72. package/cart/cart-loader.d.ts +9 -0
  73. package/cart/cart-loader.js +11 -0
  74. package/cart/cart-loader.js.map +7 -0
  75. package/cart/cart-provider.d.ts +85 -0
  76. package/cart/cart-provider.js +372 -0
  77. package/cart/cart-provider.js.map +7 -0
  78. package/cart/cart-schema.d.ts +74 -0
  79. package/cart/cart-schema.js +69 -0
  80. package/cart/cart-schema.js.map +7 -0
  81. package/cart/cart-types.d.ts +132 -0
  82. package/cart/cart-types.js +8 -0
  83. package/cart/cart-types.js.map +7 -0
  84. package/cart/gateways/cart-constants.d.ts +1 -0
  85. package/cart/gateways/cart-constants.js +5 -0
  86. package/cart/gateways/cart-constants.js.map +7 -0
  87. package/cart/gateways/cart-gateway.d.ts +10 -0
  88. package/cart/gateways/cart-gateway.js +19 -0
  89. package/cart/gateways/cart-gateway.js.map +7 -0
  90. package/cart/gateways/cookie-cart-gateway.d.ts +28 -0
  91. package/cart/gateways/cookie-cart-gateway.js +109 -0
  92. package/cart/gateways/cookie-cart-gateway.js.map +7 -0
  93. package/cart/gateways/default-cart-gateway.d.ts +19 -0
  94. package/cart/gateways/default-cart-gateway.js +30 -0
  95. package/cart/gateways/default-cart-gateway.js.map +7 -0
  96. package/cart/gateways/resolver-cart-gateway.d.ts +2 -0
  97. package/cart/gateways/resolver-cart-gateway.js +109 -0
  98. package/cart/gateways/resolver-cart-gateway.js.map +7 -0
  99. package/cart/gateways/stripe-cart-gateway.d.ts +19 -0
  100. package/cart/gateways/stripe-cart-gateway.js +28 -0
  101. package/cart/gateways/stripe-cart-gateway.js.map +7 -0
  102. package/cart/hooks/use-add-to-cart.d.ts +63 -0
  103. package/cart/hooks/use-add-to-cart.js +124 -0
  104. package/cart/hooks/use-add-to-cart.js.map +7 -0
  105. package/cart/hooks/use-buy-now.d.ts +49 -0
  106. package/cart/hooks/use-buy-now.js +62 -0
  107. package/cart/hooks/use-buy-now.js.map +7 -0
  108. package/cart/utils/cart-utils.d.ts +43 -0
  109. package/cart/utils/cart-utils.js +46 -0
  110. package/cart/utils/cart-utils.js.map +7 -0
  111. package/cart/utils/cookie-cart-persistence.d.ts +55 -0
  112. package/cart/utils/cookie-cart-persistence.js +166 -0
  113. package/cart/utils/cookie-cart-persistence.js.map +7 -0
  114. package/cart/utils/variant-to-cart-line.d.ts +74 -0
  115. package/cart/utils/variant-to-cart-line.js +162 -0
  116. package/cart/utils/variant-to-cart-line.js.map +7 -0
  117. package/chunk-UJCSKKID.mjs +27 -0
  118. package/consent/consent-action.d.ts +9 -0
  119. package/consent/consent-action.js +25 -0
  120. package/consent/consent-action.js.map +7 -0
  121. package/consent/consent-actions.d.ts +28 -0
  122. package/consent/consent-actions.js +36 -0
  123. package/consent/consent-actions.js.map +7 -0
  124. package/consent/consent-store.d.ts +69 -0
  125. package/consent/consent-store.js +194 -0
  126. package/consent/consent-store.js.map +7 -0
  127. package/consent/cookie.d.ts +36 -0
  128. package/consent/cookie.js +82 -0
  129. package/consent/cookie.js.map +7 -0
  130. package/consent/replo-scripts.d.ts +23 -0
  131. package/consent/replo-scripts.js +102 -0
  132. package/consent/replo-scripts.js.map +7 -0
  133. package/consent/script-registration-store.d.ts +25 -0
  134. package/consent/script-registration-store.js +61 -0
  135. package/consent/script-registration-store.js.map +7 -0
  136. package/consent/script-snippets.d.ts +24 -0
  137. package/consent/script-snippets.js +122 -0
  138. package/consent/script-snippets.js.map +7 -0
  139. package/consent/types.d.ts +34 -0
  140. package/consent/types.js +1 -0
  141. package/consent/types.js.map +7 -0
  142. package/consent/window-api.d.ts +41 -0
  143. package/consent/window-api.js +73 -0
  144. package/consent/window-api.js.map +7 -0
  145. package/env.d.ts +9 -0
  146. package/env.js +42 -0
  147. package/env.js.map +7 -0
  148. package/gateways/canopy-api.d.ts +83 -0
  149. package/gateways/canopy-api.js +197 -0
  150. package/gateways/canopy-api.js.map +7 -0
  151. package/hooks/use-client-value.d.ts +10 -0
  152. package/hooks/use-client-value.js +12 -0
  153. package/hooks/use-client-value.js.map +7 -0
  154. package/hooks/use-formatted-price.d.ts +15 -0
  155. package/hooks/use-formatted-price.js +20 -0
  156. package/hooks/use-formatted-price.js.map +7 -0
  157. package/lib/canopy-error.d.ts +25 -0
  158. package/lib/canopy-error.js +24 -0
  159. package/lib/canopy-error.js.map +7 -0
  160. package/lib/get-query-client.d.ts +2 -0
  161. package/lib/get-query-client.js +34 -0
  162. package/lib/get-query-client.js.map +7 -0
  163. package/lib/integration-utils.d.ts +2 -0
  164. package/lib/integration-utils.js +9 -0
  165. package/lib/integration-utils.js.map +7 -0
  166. package/lib/shopify-utils.d.ts +10 -0
  167. package/lib/shopify-utils.js +7 -0
  168. package/lib/shopify-utils.js.map +7 -0
  169. package/lib/url-utils.d.ts +4 -0
  170. package/lib/url-utils.js +8 -0
  171. package/lib/url-utils.js.map +7 -0
  172. package/loaders/collection-loader.d.ts +11 -0
  173. package/loaders/collection-loader.js +55 -0
  174. package/loaders/collection-loader.js.map +7 -0
  175. package/loaders/collection-products-loader.d.ts +12 -0
  176. package/loaders/collection-products-loader.js +58 -0
  177. package/loaders/collection-products-loader.js.map +7 -0
  178. package/loaders/contentful-entries-loader.d.ts +17 -0
  179. package/loaders/contentful-entries-loader.js +78 -0
  180. package/loaders/contentful-entries-loader.js.map +7 -0
  181. package/loaders/contentful-entry-loader.d.ts +14 -0
  182. package/loaders/contentful-entry-loader.js +60 -0
  183. package/loaders/contentful-entry-loader.js.map +7 -0
  184. package/loaders/invoke-loader-action.d.ts +11 -0
  185. package/loaders/invoke-loader-action.js +14 -0
  186. package/loaders/invoke-loader-action.js.map +7 -0
  187. package/loaders/invoke-loader-server.d.ts +18 -0
  188. package/loaders/invoke-loader-server.js +40 -0
  189. package/loaders/invoke-loader-server.js.map +7 -0
  190. package/loaders/invoke-loader.d.ts +16 -0
  191. package/loaders/invoke-loader.js +37 -0
  192. package/loaders/invoke-loader.js.map +7 -0
  193. package/loaders/levanta-product-loader.d.ts +11 -0
  194. package/loaders/levanta-product-loader.js +53 -0
  195. package/loaders/levanta-product-loader.js.map +7 -0
  196. package/loaders/loader-error-boundary.d.ts +25 -0
  197. package/loaders/loader-error-boundary.js +24 -0
  198. package/loaders/loader-error-boundary.js.map +7 -0
  199. package/loaders/loader-keys.d.ts +34 -0
  200. package/loaders/loader-keys.js +26 -0
  201. package/loaders/loader-keys.js.map +7 -0
  202. package/loaders/loader-schemas.d.ts +946 -0
  203. package/loaders/loader-schemas.js +353 -0
  204. package/loaders/loader-schemas.js.map +7 -0
  205. package/loaders/metaobject-loader.d.ts +12 -0
  206. package/loaders/metaobject-loader.js +54 -0
  207. package/loaders/metaobject-loader.js.map +7 -0
  208. package/loaders/metaobjects-loader.d.ts +14 -0
  209. package/loaders/metaobjects-loader.js +60 -0
  210. package/loaders/metaobjects-loader.js.map +7 -0
  211. package/loaders/okendo-review-aggregate-loader.d.ts +17 -0
  212. package/loaders/okendo-review-aggregate-loader.js +56 -0
  213. package/loaders/okendo-review-aggregate-loader.js.map +7 -0
  214. package/loaders/okendo-reviews-loader.d.ts +23 -0
  215. package/loaders/okendo-reviews-loader.js +54 -0
  216. package/loaders/okendo-reviews-loader.js.map +7 -0
  217. package/loaders/prefetch-loaders.d.ts +33 -0
  218. package/loaders/prefetch-loaders.js +46 -0
  219. package/loaders/prefetch-loaders.js.map +7 -0
  220. package/loaders/preview-placeholder.d.ts +25 -0
  221. package/loaders/preview-placeholder.js +222 -0
  222. package/loaders/preview-placeholder.js.map +7 -0
  223. package/loaders/product-loader-args.d.ts +21 -0
  224. package/loaders/product-loader-args.js +17 -0
  225. package/loaders/product-loader-args.js.map +7 -0
  226. package/loaders/product-loader.d.ts +10 -0
  227. package/loaders/product-loader.js +52 -0
  228. package/loaders/product-loader.js.map +7 -0
  229. package/loaders/rebuy-recommendations-loader.d.ts +165 -0
  230. package/loaders/rebuy-recommendations-loader.js +57 -0
  231. package/loaders/rebuy-recommendations-loader.js.map +7 -0
  232. package/loaders/reviews-io-review-aggregate-loader.d.ts +12 -0
  233. package/loaders/reviews-io-review-aggregate-loader.js +43 -0
  234. package/loaders/reviews-io-review-aggregate-loader.js.map +7 -0
  235. package/loaders/reviews-io-reviews-loader.d.ts +14 -0
  236. package/loaders/reviews-io-reviews-loader.js +65 -0
  237. package/loaders/reviews-io-reviews-loader.js.map +7 -0
  238. package/loaders/smile-earning-rules-loader.d.ts +19 -0
  239. package/loaders/smile-earning-rules-loader.js +44 -0
  240. package/loaders/smile-earning-rules-loader.js.map +7 -0
  241. package/loaders/smile-rewards-loader.d.ts +19 -0
  242. package/loaders/smile-rewards-loader.js +44 -0
  243. package/loaders/smile-rewards-loader.js.map +7 -0
  244. package/loaders/smile-vip-tiers-loader.d.ts +18 -0
  245. package/loaders/smile-vip-tiers-loader.js +43 -0
  246. package/loaders/smile-vip-tiers-loader.js.map +7 -0
  247. package/loaders/statsig-experiment-loader.d.ts +20 -0
  248. package/loaders/statsig-experiment-loader.js +81 -0
  249. package/loaders/statsig-experiment-loader.js.map +7 -0
  250. package/loaders/yotpo-review-aggregate-loader.d.ts +12 -0
  251. package/loaders/yotpo-review-aggregate-loader.js +50 -0
  252. package/loaders/yotpo-review-aggregate-loader.js.map +7 -0
  253. package/loaders/yotpo-reviews-loader.d.ts +14 -0
  254. package/loaders/yotpo-reviews-loader.js +65 -0
  255. package/loaders/yotpo-reviews-loader.js.map +7 -0
  256. package/money.d.ts +9 -0
  257. package/money.js +13 -0
  258. package/money.js.map +7 -0
  259. package/next/config.d.ts +4 -0
  260. package/next/config.js +91 -0
  261. package/next/config.js.map +7 -0
  262. package/next/image-loader.d.ts +2 -0
  263. package/next/image-loader.js +52 -0
  264. package/next/image-loader.js.map +7 -0
  265. package/next/open-next.d.ts +2 -0
  266. package/next/open-next.js +24 -0
  267. package/next/open-next.js.map +7 -0
  268. package/orders/order-status-schema.d.ts +161 -0
  269. package/orders/order-status-schema.js +83 -0
  270. package/orders/order-status-schema.js.map +7 -0
  271. package/orders/order-status.d.ts +11 -0
  272. package/orders/order-status.js +41 -0
  273. package/orders/order-status.js.map +7 -0
  274. package/package.json +216 -0
  275. package/providers/query-provider.d.ts +1 -0
  276. package/providers/query-provider.js +12 -0
  277. package/providers/query-provider.js.map +7 -0
  278. package/providers/replo-provider.d.ts +1 -0
  279. package/providers/replo-provider.js +22 -0
  280. package/providers/replo-provider.js.map +7 -0
@@ -0,0 +1,165 @@
1
+ import type { ReactNode } from "react";
2
+ import { z } from "zod";
3
+ declare const rebuyRecommendationsOutputSchema: z.ZodObject<{
4
+ products: z.ZodArray<z.ZodObject<{
5
+ id: z.ZodString;
6
+ handle: z.ZodOptional<z.ZodString>;
7
+ title: z.ZodOptional<z.ZodString>;
8
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ descriptionHtml: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
+ availableForSale: z.ZodOptional<z.ZodBoolean>;
11
+ status: z.ZodOptional<z.ZodEnum<{
12
+ ACTIVE: "ACTIVE";
13
+ DRAFT: "DRAFT";
14
+ ARCHIVED: "ARCHIVED";
15
+ UNLISTED: "UNLISTED";
16
+ }>>;
17
+ featuredImage: z.ZodOptional<z.ZodNullable<z.ZodObject<{
18
+ url: z.ZodString;
19
+ altText: z.ZodNullable<z.ZodString>;
20
+ width: z.ZodNullable<z.ZodNumber>;
21
+ height: z.ZodNullable<z.ZodNumber>;
22
+ }, z.core.$strip>>>;
23
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
24
+ id: z.ZodOptional<z.ZodString>;
25
+ name: z.ZodString;
26
+ values: z.ZodArray<z.ZodString>;
27
+ optionValues: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ id: z.ZodString;
29
+ value: z.ZodString;
30
+ swatch: z.ZodNullable<z.ZodObject<{
31
+ color: z.ZodNullable<z.ZodString>;
32
+ imageUrl: z.ZodNullable<z.ZodString>;
33
+ }, z.core.$strip>>;
34
+ }, z.core.$strip>>>;
35
+ }, z.core.$strip>>>;
36
+ variants: z.ZodOptional<z.ZodArray<z.ZodObject<{
37
+ id: z.ZodString;
38
+ title: z.ZodOptional<z.ZodString>;
39
+ availableForSale: z.ZodOptional<z.ZodBoolean>;
40
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ selectedOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
42
+ name: z.ZodString;
43
+ value: z.ZodString;
44
+ }, z.core.$strip>>>;
45
+ image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
46
+ url: z.ZodString;
47
+ altText: z.ZodNullable<z.ZodString>;
48
+ width: z.ZodNullable<z.ZodNumber>;
49
+ height: z.ZodNullable<z.ZodNumber>;
50
+ }, z.core.$strip>>>;
51
+ price: z.ZodOptional<z.ZodObject<{
52
+ amount: z.ZodString;
53
+ currencyCode: z.ZodString;
54
+ }, z.core.$strip>>;
55
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodObject<{
56
+ amount: z.ZodString;
57
+ currencyCode: z.ZodString;
58
+ }, z.core.$strip>>>;
59
+ sellingPlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ }, z.core.$strip>>>;
61
+ minPrice: z.ZodOptional<z.ZodObject<{
62
+ amount: z.ZodString;
63
+ currencyCode: z.ZodString;
64
+ }, z.core.$strip>>;
65
+ maxPrice: z.ZodOptional<z.ZodObject<{
66
+ amount: z.ZodString;
67
+ currencyCode: z.ZodString;
68
+ }, z.core.$strip>>;
69
+ compareAtMinPrice: z.ZodOptional<z.ZodObject<{
70
+ amount: z.ZodString;
71
+ currencyCode: z.ZodString;
72
+ }, z.core.$strip>>;
73
+ compareAtMaxPrice: z.ZodOptional<z.ZodObject<{
74
+ amount: z.ZodString;
75
+ currencyCode: z.ZodString;
76
+ }, z.core.$strip>>;
77
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
78
+ url: z.ZodString;
79
+ altText: z.ZodNullable<z.ZodString>;
80
+ width: z.ZodNullable<z.ZodNumber>;
81
+ height: z.ZodNullable<z.ZodNumber>;
82
+ }, z.core.$strip>>>;
83
+ media: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
84
+ type: z.ZodLiteral<"image">;
85
+ alt: z.ZodNullable<z.ZodString>;
86
+ url: z.ZodString;
87
+ width: z.ZodNullable<z.ZodNumber>;
88
+ height: z.ZodNullable<z.ZodNumber>;
89
+ }, z.core.$strip>, z.ZodObject<{
90
+ type: z.ZodLiteral<"video">;
91
+ alt: z.ZodNullable<z.ZodString>;
92
+ sources: z.ZodArray<z.ZodObject<{
93
+ url: z.ZodString;
94
+ mimeType: z.ZodString;
95
+ format: z.ZodString;
96
+ width: z.ZodNullable<z.ZodNumber>;
97
+ height: z.ZodNullable<z.ZodNumber>;
98
+ }, z.core.$strip>>;
99
+ previewImage: z.ZodNullable<z.ZodObject<{
100
+ alt: z.ZodNullable<z.ZodString>;
101
+ url: z.ZodString;
102
+ width: z.ZodNullable<z.ZodNumber>;
103
+ height: z.ZodNullable<z.ZodNumber>;
104
+ }, z.core.$strip>>;
105
+ }, z.core.$strip>, z.ZodObject<{
106
+ type: z.ZodLiteral<"externalVideo">;
107
+ alt: z.ZodNullable<z.ZodString>;
108
+ embedUrl: z.ZodString;
109
+ host: z.ZodString;
110
+ originUrl: z.ZodString;
111
+ previewImage: z.ZodNullable<z.ZodObject<{
112
+ alt: z.ZodNullable<z.ZodString>;
113
+ url: z.ZodString;
114
+ width: z.ZodNullable<z.ZodNumber>;
115
+ height: z.ZodNullable<z.ZodNumber>;
116
+ }, z.core.$strip>>;
117
+ }, z.core.$strip>], "type">>>;
118
+ vendor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
119
+ productType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
120
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
121
+ sellingPlanGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
122
+ appId: z.ZodNullable<z.ZodString>;
123
+ options: z.ZodArray<z.ZodObject<{
124
+ name: z.ZodString;
125
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
126
+ }, z.core.$strip>>;
127
+ sellingPlans: z.ZodArray<z.ZodObject<{
128
+ id: z.ZodString;
129
+ name: z.ZodString;
130
+ description: z.ZodNullable<z.ZodString>;
131
+ optionValues: z.ZodArray<z.ZodObject<{
132
+ name: z.ZodOptional<z.ZodString>;
133
+ value: z.ZodString;
134
+ }, z.core.$strip>>;
135
+ priceAdjustments: z.ZodArray<z.ZodObject<{
136
+ value: z.ZodNumber;
137
+ valueType: z.ZodEnum<{
138
+ price: "price";
139
+ percentage: "percentage";
140
+ fixedAmount: "fixedAmount";
141
+ }>;
142
+ }, z.core.$strip>>;
143
+ appId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
144
+ price: z.ZodOptional<z.ZodString>;
145
+ externalId: z.ZodNullable<z.ZodString>;
146
+ }, z.core.$strip>>;
147
+ }, z.core.$strip>>>;
148
+ metafields: z.ZodOptional<z.ZodArray<z.ZodObject<{
149
+ key: z.ZodString;
150
+ namespace: z.ZodString;
151
+ type: z.ZodString;
152
+ value: z.ZodString;
153
+ }, z.core.$strip>>>;
154
+ }, z.core.$strip>>;
155
+ }, z.core.$strip>;
156
+ type RebuyRecommendationsData = z.infer<typeof rebuyRecommendationsOutputSchema>;
157
+ type RebuyRecommendationsLoaderProps = {
158
+ loaderKey: string;
159
+ shopifyProductIds: string;
160
+ limit?: number;
161
+ children: (data: RebuyRecommendationsData) => ReactNode;
162
+ fallback?: ReactNode;
163
+ };
164
+ export declare function RebuyRecommendationsLoader({ loaderKey, shopifyProductIds, limit, children, fallback, }: RebuyRecommendationsLoaderProps): import("react/jsx-runtime").JSX.Element;
165
+ export {};
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ import { Suspense } from "react";
4
+ import { useSuspenseQuery } from "@tanstack/react-query";
5
+ import { z } from "zod";
6
+ import { invokeLoader } from "./invoke-loader";
7
+ import { LoaderErrorBoundary } from "./loader-error-boundary";
8
+ import { productSchema } from "./loader-schemas";
9
+ const rebuyRecommendationsOutputSchema = z.object({
10
+ products: z.array(productSchema)
11
+ });
12
+ function RebuyRecommendationsLoaderInner({
13
+ loaderKey,
14
+ shopifyProductIds,
15
+ limit,
16
+ children
17
+ }) {
18
+ const queryResult = useSuspenseQuery({
19
+ queryKey: [loaderKey, { shopifyProductIds, limit }],
20
+ queryFn: async () => {
21
+ const loadedData = await invokeLoader({
22
+ loaderKey,
23
+ args: { shopifyProductIds, limit }
24
+ });
25
+ return rebuyRecommendationsOutputSchema.parse(loadedData);
26
+ }
27
+ });
28
+ return /* @__PURE__ */ jsx(Fragment, { children: children(queryResult.data) });
29
+ }
30
+ function RebuyRecommendationsLoader({
31
+ loaderKey,
32
+ shopifyProductIds,
33
+ limit,
34
+ children,
35
+ fallback
36
+ }) {
37
+ return /* @__PURE__ */ jsx(
38
+ LoaderErrorBoundary,
39
+ {
40
+ fallback: fallback ?? null,
41
+ resetKey: `${loaderKey}:${shopifyProductIds}:${limit ?? ""}`,
42
+ children: /* @__PURE__ */ jsx(Suspense, { fallback: fallback ?? null, children: /* @__PURE__ */ jsx(
43
+ RebuyRecommendationsLoaderInner,
44
+ {
45
+ loaderKey,
46
+ shopifyProductIds,
47
+ limit,
48
+ children
49
+ }
50
+ ) })
51
+ }
52
+ );
53
+ }
54
+ export {
55
+ RebuyRecommendationsLoader
56
+ };
57
+ //# sourceMappingURL=rebuy-recommendations-loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../loaders/rebuy-recommendations-loader.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { Suspense } from \"react\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { z } from \"zod\";\n\nimport { invokeLoader } from \"./invoke-loader\";\nimport { LoaderErrorBoundary } from \"./loader-error-boundary\";\nimport { productSchema } from \"./loader-schemas\";\n\nconst rebuyRecommendationsOutputSchema = z.object({\n products: z.array(productSchema),\n});\n\ntype RebuyRecommendationsData = z.infer<\n typeof rebuyRecommendationsOutputSchema\n>;\n\ntype RebuyRecommendationsLoaderProps = {\n loaderKey: string;\n shopifyProductIds: string;\n limit?: number;\n children: (data: RebuyRecommendationsData) => ReactNode;\n fallback?: ReactNode;\n};\n\nfunction RebuyRecommendationsLoaderInner({\n loaderKey,\n shopifyProductIds,\n limit,\n children,\n}: Omit<RebuyRecommendationsLoaderProps, \"fallback\">) {\n const queryResult = useSuspenseQuery({\n queryKey: [loaderKey, { shopifyProductIds, limit }],\n queryFn: async () => {\n const loadedData = await invokeLoader({\n loaderKey,\n args: { shopifyProductIds, limit },\n });\n return rebuyRecommendationsOutputSchema.parse(loadedData);\n },\n });\n\n return <>{children(queryResult.data)}</>;\n}\n\nexport function RebuyRecommendationsLoader({\n loaderKey,\n shopifyProductIds,\n limit,\n children,\n fallback,\n}: RebuyRecommendationsLoaderProps) {\n return (\n <LoaderErrorBoundary\n fallback={fallback ?? null}\n resetKey={`${loaderKey}:${shopifyProductIds}:${limit ?? \"\"}`}\n >\n <Suspense fallback={fallback ?? null}>\n <RebuyRecommendationsLoaderInner\n loaderKey={loaderKey}\n shopifyProductIds={shopifyProductIds}\n limit={limit}\n >\n {children}\n </RebuyRecommendationsLoaderInner>\n </Suspense>\n </LoaderErrorBoundary>\n );\n}\n"],
5
+ "mappings": ";AA8CS;AA1CT,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AACjC,SAAS,SAAS;AAElB,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AACpC,SAAS,qBAAqB;AAE9B,MAAM,mCAAmC,EAAE,OAAO;AAAA,EAChD,UAAU,EAAE,MAAM,aAAa;AACjC,CAAC;AAcD,SAAS,gCAAgC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,cAAc,iBAAiB;AAAA,IACnC,UAAU,CAAC,WAAW,EAAE,mBAAmB,MAAM,CAAC;AAAA,IAClD,SAAS,YAAY;AACnB,YAAM,aAAa,MAAM,aAAa;AAAA,QACpC;AAAA,QACA,MAAM,EAAE,mBAAmB,MAAM;AAAA,MACnC,CAAC;AACD,aAAO,iCAAiC,MAAM,UAAU;AAAA,IAC1D;AAAA,EACF,CAAC;AAED,SAAO,gCAAG,mBAAS,YAAY,IAAI,GAAE;AACvC;AAEO,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAoC;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU,YAAY;AAAA,MACtB,UAAU,GAAG,SAAS,IAAI,iBAAiB,IAAI,SAAS,EAAE;AAAA,MAE1D,8BAAC,YAAS,UAAU,YAAY,MAC9B;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UAEC;AAAA;AAAA,MACH,GACF;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from "react";
2
+ import { z } from "zod";
3
+ import { reviewsIoProductReviewAggregateLoaderOutputSchema } from "./loader-schemas";
4
+ type ReviewsIoReviewAggregateData = z.infer<typeof reviewsIoProductReviewAggregateLoaderOutputSchema>;
5
+ type ReviewsIoReviewAggregateLoaderProps = {
6
+ loaderKey: string;
7
+ sku: string;
8
+ children: (data: ReviewsIoReviewAggregateData) => ReactNode;
9
+ fallback?: ReactNode;
10
+ };
11
+ export declare function ReviewsIoReviewAggregateLoader({ loaderKey, sku, children, fallback, }: ReviewsIoReviewAggregateLoaderProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ import { Suspense } from "react";
4
+ import { useSuspenseQuery } from "@tanstack/react-query";
5
+ import { invokeLoader } from "./invoke-loader";
6
+ import { LoaderErrorBoundary } from "./loader-error-boundary";
7
+ import { reviewsIoProductReviewAggregateLoaderOutputSchema } from "./loader-schemas";
8
+ function ReviewsIoReviewAggregateLoaderInner({
9
+ loaderKey,
10
+ sku,
11
+ children
12
+ }) {
13
+ const args = { sku };
14
+ const { data } = useSuspenseQuery({
15
+ queryKey: [loaderKey, args],
16
+ queryFn: async () => {
17
+ const loadedData = await invokeLoader({ loaderKey, args });
18
+ return reviewsIoProductReviewAggregateLoaderOutputSchema.parse(
19
+ loadedData
20
+ );
21
+ }
22
+ });
23
+ return /* @__PURE__ */ jsx(Fragment, { children: children(data) });
24
+ }
25
+ function ReviewsIoReviewAggregateLoader({
26
+ loaderKey,
27
+ sku,
28
+ children,
29
+ fallback
30
+ }) {
31
+ return /* @__PURE__ */ jsx(
32
+ LoaderErrorBoundary,
33
+ {
34
+ fallback: fallback ?? null,
35
+ resetKey: `${loaderKey}:${sku}`,
36
+ children: /* @__PURE__ */ jsx(Suspense, { fallback: fallback ?? null, children: /* @__PURE__ */ jsx(ReviewsIoReviewAggregateLoaderInner, { loaderKey, sku, children }) })
37
+ }
38
+ );
39
+ }
40
+ export {
41
+ ReviewsIoReviewAggregateLoader
42
+ };
43
+ //# sourceMappingURL=reviews-io-review-aggregate-loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../loaders/reviews-io-review-aggregate-loader.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { Suspense } from \"react\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { z } from \"zod\";\n\nimport { invokeLoader } from \"./invoke-loader\";\nimport { LoaderErrorBoundary } from \"./loader-error-boundary\";\nimport { reviewsIoProductReviewAggregateLoaderOutputSchema } from \"./loader-schemas\";\n\ntype ReviewsIoReviewAggregateData = z.infer<\n typeof reviewsIoProductReviewAggregateLoaderOutputSchema\n>;\n\ntype ReviewsIoReviewAggregateLoaderProps = {\n loaderKey: string;\n sku: string;\n children: (data: ReviewsIoReviewAggregateData) => ReactNode;\n fallback?: ReactNode;\n};\n\nfunction ReviewsIoReviewAggregateLoaderInner({\n loaderKey,\n sku,\n children,\n}: Omit<ReviewsIoReviewAggregateLoaderProps, \"fallback\">) {\n const args = { sku };\n const { data } = useSuspenseQuery({\n queryKey: [loaderKey, args],\n queryFn: async () => {\n const loadedData = await invokeLoader({ loaderKey, args });\n return reviewsIoProductReviewAggregateLoaderOutputSchema.parse(\n loadedData,\n );\n },\n });\n\n return <>{children(data)}</>;\n}\n\nexport function ReviewsIoReviewAggregateLoader({\n loaderKey,\n sku,\n children,\n fallback,\n}: ReviewsIoReviewAggregateLoaderProps) {\n return (\n <LoaderErrorBoundary\n fallback={fallback ?? null}\n resetKey={`${loaderKey}:${sku}`}\n >\n <Suspense fallback={fallback ?? null}>\n <ReviewsIoReviewAggregateLoaderInner loaderKey={loaderKey} sku={sku}>\n {children}\n </ReviewsIoReviewAggregateLoaderInner>\n </Suspense>\n </LoaderErrorBoundary>\n );\n}\n"],
5
+ "mappings": ";AAwCS;AApCT,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AAGjC,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AACpC,SAAS,yDAAyD;AAalE,SAAS,oCAAoC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AACF,GAA0D;AACxD,QAAM,OAAO,EAAE,IAAI;AACnB,QAAM,EAAE,KAAK,IAAI,iBAAiB;AAAA,IAChC,UAAU,CAAC,WAAW,IAAI;AAAA,IAC1B,SAAS,YAAY;AACnB,YAAM,aAAa,MAAM,aAAa,EAAE,WAAW,KAAK,CAAC;AACzD,aAAO,kDAAkD;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,gCAAG,mBAAS,IAAI,GAAE;AAC3B;AAEO,SAAS,+BAA+B;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwC;AACtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU,YAAY;AAAA,MACtB,UAAU,GAAG,SAAS,IAAI,GAAG;AAAA,MAE7B,8BAAC,YAAS,UAAU,YAAY,MAC9B,8BAAC,uCAAoC,WAAsB,KACxD,UACH,GACF;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from "react";
2
+ import { z } from "zod";
3
+ import { reviewsIoProductReviewsLoaderOutputSchema } from "./loader-schemas";
4
+ type ReviewsIoReviewsData = z.infer<typeof reviewsIoProductReviewsLoaderOutputSchema>;
5
+ type ReviewsIoReviewsLoaderProps = {
6
+ loaderKey: string;
7
+ sku: string;
8
+ perPage?: number;
9
+ page?: number;
10
+ children: (data: ReviewsIoReviewsData) => ReactNode;
11
+ fallback?: ReactNode;
12
+ };
13
+ export declare function ReviewsIoReviewsLoader({ loaderKey, sku, perPage, page, children, fallback, }: ReviewsIoReviewsLoaderProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ import { Suspense } from "react";
4
+ import { useSuspenseQuery } from "@tanstack/react-query";
5
+ import { invokeLoader } from "./invoke-loader";
6
+ import { LoaderErrorBoundary } from "./loader-error-boundary";
7
+ import { reviewsIoProductReviewsLoaderOutputSchema } from "./loader-schemas";
8
+ function buildReviewsArgs({
9
+ sku,
10
+ perPage,
11
+ page
12
+ }) {
13
+ return {
14
+ sku,
15
+ ...perPage !== void 0 ? { perPage } : {},
16
+ ...page !== void 0 ? { page } : {}
17
+ };
18
+ }
19
+ function ReviewsIoReviewsLoaderInner({
20
+ loaderKey,
21
+ sku,
22
+ perPage,
23
+ page,
24
+ children
25
+ }) {
26
+ const args = buildReviewsArgs({ sku, perPage, page });
27
+ const { data } = useSuspenseQuery({
28
+ queryKey: [loaderKey, args],
29
+ queryFn: async () => {
30
+ const loadedData = await invokeLoader({ loaderKey, args });
31
+ return reviewsIoProductReviewsLoaderOutputSchema.parse(loadedData);
32
+ }
33
+ });
34
+ return /* @__PURE__ */ jsx(Fragment, { children: children(data) });
35
+ }
36
+ function ReviewsIoReviewsLoader({
37
+ loaderKey,
38
+ sku,
39
+ perPage,
40
+ page,
41
+ children,
42
+ fallback
43
+ }) {
44
+ return /* @__PURE__ */ jsx(
45
+ LoaderErrorBoundary,
46
+ {
47
+ fallback: fallback ?? null,
48
+ resetKey: `${loaderKey}:${sku}:${perPage ?? ""}:${page ?? ""}`,
49
+ children: /* @__PURE__ */ jsx(Suspense, { fallback: fallback ?? null, children: /* @__PURE__ */ jsx(
50
+ ReviewsIoReviewsLoaderInner,
51
+ {
52
+ loaderKey,
53
+ sku,
54
+ perPage,
55
+ page,
56
+ children
57
+ }
58
+ ) })
59
+ }
60
+ );
61
+ }
62
+ export {
63
+ ReviewsIoReviewsLoader
64
+ };
65
+ //# sourceMappingURL=reviews-io-reviews-loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../loaders/reviews-io-reviews-loader.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { Suspense } from \"react\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { z } from \"zod\";\n\nimport { invokeLoader } from \"./invoke-loader\";\nimport { LoaderErrorBoundary } from \"./loader-error-boundary\";\nimport { reviewsIoProductReviewsLoaderOutputSchema } from \"./loader-schemas\";\n\ntype ReviewsIoReviewsData = z.infer<\n typeof reviewsIoProductReviewsLoaderOutputSchema\n>;\n\ntype ReviewsIoReviewsLoaderProps = {\n loaderKey: string;\n sku: string;\n perPage?: number;\n page?: number;\n children: (data: ReviewsIoReviewsData) => ReactNode;\n fallback?: ReactNode;\n};\n\nfunction buildReviewsArgs({\n sku,\n perPage,\n page,\n}: {\n sku: string;\n perPage?: number;\n page?: number;\n}) {\n return {\n sku,\n ...(perPage !== undefined ? { perPage } : {}),\n ...(page !== undefined ? { page } : {}),\n };\n}\n\nfunction ReviewsIoReviewsLoaderInner({\n loaderKey,\n sku,\n perPage,\n page,\n children,\n}: Omit<ReviewsIoReviewsLoaderProps, \"fallback\">) {\n const args = buildReviewsArgs({ sku, perPage, page });\n const { data } = useSuspenseQuery({\n queryKey: [loaderKey, args],\n queryFn: async () => {\n const loadedData = await invokeLoader({ loaderKey, args });\n return reviewsIoProductReviewsLoaderOutputSchema.parse(loadedData);\n },\n });\n\n return <>{children(data)}</>;\n}\n\nexport function ReviewsIoReviewsLoader({\n loaderKey,\n sku,\n perPage,\n page,\n children,\n fallback,\n}: ReviewsIoReviewsLoaderProps) {\n return (\n <LoaderErrorBoundary\n fallback={fallback ?? null}\n resetKey={`${loaderKey}:${sku}:${perPage ?? \"\"}:${page ?? \"\"}`}\n >\n <Suspense fallback={fallback ?? null}>\n <ReviewsIoReviewsLoaderInner\n loaderKey={loaderKey}\n sku={sku}\n perPage={perPage}\n page={page}\n >\n {children}\n </ReviewsIoReviewsLoaderInner>\n </Suspense>\n </LoaderErrorBoundary>\n );\n}\n"],
5
+ "mappings": ";AA0DS;AAtDT,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AAGjC,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AACpC,SAAS,iDAAiD;AAe1D,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO;AAAA,IACL;AAAA,IACA,GAAI,YAAY,SAAY,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC3C,GAAI,SAAS,SAAY,EAAE,KAAK,IAAI,CAAC;AAAA,EACvC;AACF;AAEA,SAAS,4BAA4B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkD;AAChD,QAAM,OAAO,iBAAiB,EAAE,KAAK,SAAS,KAAK,CAAC;AACpD,QAAM,EAAE,KAAK,IAAI,iBAAiB;AAAA,IAChC,UAAU,CAAC,WAAW,IAAI;AAAA,IAC1B,SAAS,YAAY;AACnB,YAAM,aAAa,MAAM,aAAa,EAAE,WAAW,KAAK,CAAC;AACzD,aAAO,0CAA0C,MAAM,UAAU;AAAA,IACnE;AAAA,EACF,CAAC;AAED,SAAO,gCAAG,mBAAS,IAAI,GAAE;AAC3B;AAEO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU,YAAY;AAAA,MACtB,UAAU,GAAG,SAAS,IAAI,GAAG,IAAI,WAAW,EAAE,IAAI,QAAQ,EAAE;AAAA,MAE5D,8BAAC,YAAS,UAAU,YAAY,MAC9B;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UAEC;AAAA;AAAA,MACH,GACF;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from "react";
2
+ import { z } from "zod";
3
+ declare const smileEarningRuleSchema: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ name: z.ZodString;
6
+ pointsAwarded: z.ZodNullable<z.ZodNumber>;
7
+ pointsAwardedType: z.ZodString;
8
+ activityToken: z.ZodString;
9
+ }, z.core.$strip>;
10
+ export type SmileEarningRule = z.infer<typeof smileEarningRuleSchema>;
11
+ type SmileEarningRulesLoaderProps = {
12
+ loaderKey: string;
13
+ children: (data: {
14
+ earningRules: SmileEarningRule[];
15
+ }) => ReactNode;
16
+ fallback?: ReactNode;
17
+ };
18
+ export declare function SmileEarningRulesLoader({ loaderKey, children, fallback, }: SmileEarningRulesLoaderProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ import { Suspense } from "react";
4
+ import { useSuspenseQuery } from "@tanstack/react-query";
5
+ import { z } from "zod";
6
+ import { invokeLoader } from "./invoke-loader";
7
+ import { LoaderErrorBoundary } from "./loader-error-boundary";
8
+ const smileEarningRuleSchema = z.object({
9
+ id: z.number(),
10
+ name: z.string(),
11
+ pointsAwarded: z.number().nullable(),
12
+ pointsAwardedType: z.string(),
13
+ activityToken: z.string()
14
+ });
15
+ const smileEarningRulesOutputSchema = z.object({
16
+ earningRules: z.array(smileEarningRuleSchema)
17
+ });
18
+ function SmileEarningRulesLoaderInner({
19
+ loaderKey,
20
+ children
21
+ }) {
22
+ const queryResult = useSuspenseQuery({
23
+ queryKey: [loaderKey, {}],
24
+ queryFn: async () => {
25
+ const loadedData = await invokeLoader({
26
+ loaderKey,
27
+ args: {}
28
+ });
29
+ return smileEarningRulesOutputSchema.parse(loadedData);
30
+ }
31
+ });
32
+ return /* @__PURE__ */ jsx(Fragment, { children: children(queryResult.data) });
33
+ }
34
+ function SmileEarningRulesLoader({
35
+ loaderKey,
36
+ children,
37
+ fallback
38
+ }) {
39
+ return /* @__PURE__ */ jsx(LoaderErrorBoundary, { fallback: fallback ?? null, resetKey: loaderKey, children: /* @__PURE__ */ jsx(Suspense, { fallback: fallback ?? null, children: /* @__PURE__ */ jsx(SmileEarningRulesLoaderInner, { loaderKey, children }) }) });
40
+ }
41
+ export {
42
+ SmileEarningRulesLoader
43
+ };
44
+ //# sourceMappingURL=smile-earning-rules-loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../loaders/smile-earning-rules-loader.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { Suspense } from \"react\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { z } from \"zod\";\n\nimport { invokeLoader } from \"./invoke-loader\";\nimport { LoaderErrorBoundary } from \"./loader-error-boundary\";\n\nconst smileEarningRuleSchema = z.object({\n id: z.number(),\n name: z.string(),\n pointsAwarded: z.number().nullable(),\n pointsAwardedType: z.string(),\n activityToken: z.string(),\n});\n\nconst smileEarningRulesOutputSchema = z.object({\n earningRules: z.array(smileEarningRuleSchema),\n});\n\nexport type SmileEarningRule = z.infer<typeof smileEarningRuleSchema>;\n\ntype SmileEarningRulesLoaderProps = {\n loaderKey: string;\n children: (data: { earningRules: SmileEarningRule[] }) => ReactNode;\n fallback?: ReactNode;\n};\n\nfunction SmileEarningRulesLoaderInner({\n loaderKey,\n children,\n}: Omit<SmileEarningRulesLoaderProps, \"fallback\">) {\n const queryResult = useSuspenseQuery({\n queryKey: [loaderKey, {}],\n queryFn: async () => {\n const loadedData = await invokeLoader({\n loaderKey,\n args: {},\n });\n return smileEarningRulesOutputSchema.parse(loadedData);\n },\n });\n\n return <>{children(queryResult.data)}</>;\n}\n\nexport function SmileEarningRulesLoader({\n loaderKey,\n children,\n fallback,\n}: SmileEarningRulesLoaderProps) {\n return (\n <LoaderErrorBoundary fallback={fallback ?? null} resetKey={loaderKey}>\n <Suspense fallback={fallback ?? null}>\n <SmileEarningRulesLoaderInner loaderKey={loaderKey}>\n {children}\n </SmileEarningRulesLoaderInner>\n </Suspense>\n </LoaderErrorBoundary>\n );\n}\n"],
5
+ "mappings": ";AA+CS;AA3CT,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AACjC,SAAS,SAAS;AAElB,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAEpC,MAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,IAAI,EAAE,OAAO;AAAA,EACb,MAAM,EAAE,OAAO;AAAA,EACf,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,mBAAmB,EAAE,OAAO;AAAA,EAC5B,eAAe,EAAE,OAAO;AAC1B,CAAC;AAED,MAAM,gCAAgC,EAAE,OAAO;AAAA,EAC7C,cAAc,EAAE,MAAM,sBAAsB;AAC9C,CAAC;AAUD,SAAS,6BAA6B;AAAA,EACpC;AAAA,EACA;AACF,GAAmD;AACjD,QAAM,cAAc,iBAAiB;AAAA,IACnC,UAAU,CAAC,WAAW,CAAC,CAAC;AAAA,IACxB,SAAS,YAAY;AACnB,YAAM,aAAa,MAAM,aAAa;AAAA,QACpC;AAAA,QACA,MAAM,CAAC;AAAA,MACT,CAAC;AACD,aAAO,8BAA8B,MAAM,UAAU;AAAA,IACvD;AAAA,EACF,CAAC;AAED,SAAO,gCAAG,mBAAS,YAAY,IAAI,GAAE;AACvC;AAEO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACF,GAAiC;AAC/B,SACE,oBAAC,uBAAoB,UAAU,YAAY,MAAM,UAAU,WACzD,8BAAC,YAAS,UAAU,YAAY,MAC9B,8BAAC,gCAA6B,WAC3B,UACH,GACF,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from "react";
2
+ import { z } from "zod";
3
+ declare const smileRewardSchema: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ name: z.ZodString;
6
+ pointsCost: z.ZodNumber;
7
+ rewardType: z.ZodString;
8
+ discountValue: z.ZodNullable<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ export type SmileReward = z.infer<typeof smileRewardSchema>;
11
+ type SmileRewardsLoaderProps = {
12
+ loaderKey: string;
13
+ children: (data: {
14
+ rewards: SmileReward[];
15
+ }) => ReactNode;
16
+ fallback?: ReactNode;
17
+ };
18
+ export declare function SmileRewardsLoader({ loaderKey, children, fallback, }: SmileRewardsLoaderProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ import { Suspense } from "react";
4
+ import { useSuspenseQuery } from "@tanstack/react-query";
5
+ import { z } from "zod";
6
+ import { invokeLoader } from "./invoke-loader";
7
+ import { LoaderErrorBoundary } from "./loader-error-boundary";
8
+ const smileRewardSchema = z.object({
9
+ id: z.number(),
10
+ name: z.string(),
11
+ pointsCost: z.number(),
12
+ rewardType: z.string(),
13
+ discountValue: z.string().nullable()
14
+ });
15
+ const smileRewardsOutputSchema = z.object({
16
+ rewards: z.array(smileRewardSchema)
17
+ });
18
+ function SmileRewardsLoaderInner({
19
+ loaderKey,
20
+ children
21
+ }) {
22
+ const queryResult = useSuspenseQuery({
23
+ queryKey: [loaderKey, {}],
24
+ queryFn: async () => {
25
+ const loadedData = await invokeLoader({
26
+ loaderKey,
27
+ args: {}
28
+ });
29
+ return smileRewardsOutputSchema.parse(loadedData);
30
+ }
31
+ });
32
+ return /* @__PURE__ */ jsx(Fragment, { children: children(queryResult.data) });
33
+ }
34
+ function SmileRewardsLoader({
35
+ loaderKey,
36
+ children,
37
+ fallback
38
+ }) {
39
+ return /* @__PURE__ */ jsx(LoaderErrorBoundary, { fallback: fallback ?? null, resetKey: loaderKey, children: /* @__PURE__ */ jsx(Suspense, { fallback: fallback ?? null, children: /* @__PURE__ */ jsx(SmileRewardsLoaderInner, { loaderKey, children }) }) });
40
+ }
41
+ export {
42
+ SmileRewardsLoader
43
+ };
44
+ //# sourceMappingURL=smile-rewards-loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../loaders/smile-rewards-loader.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { Suspense } from \"react\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { z } from \"zod\";\n\nimport { invokeLoader } from \"./invoke-loader\";\nimport { LoaderErrorBoundary } from \"./loader-error-boundary\";\n\nconst smileRewardSchema = z.object({\n id: z.number(),\n name: z.string(),\n pointsCost: z.number(),\n rewardType: z.string(),\n discountValue: z.string().nullable(),\n});\n\nconst smileRewardsOutputSchema = z.object({\n rewards: z.array(smileRewardSchema),\n});\n\nexport type SmileReward = z.infer<typeof smileRewardSchema>;\n\ntype SmileRewardsLoaderProps = {\n loaderKey: string;\n children: (data: { rewards: SmileReward[] }) => ReactNode;\n fallback?: ReactNode;\n};\n\nfunction SmileRewardsLoaderInner({\n loaderKey,\n children,\n}: Omit<SmileRewardsLoaderProps, \"fallback\">) {\n const queryResult = useSuspenseQuery({\n queryKey: [loaderKey, {}],\n queryFn: async () => {\n const loadedData = await invokeLoader({\n loaderKey,\n args: {},\n });\n return smileRewardsOutputSchema.parse(loadedData);\n },\n });\n\n return <>{children(queryResult.data)}</>;\n}\n\nexport function SmileRewardsLoader({\n loaderKey,\n children,\n fallback,\n}: SmileRewardsLoaderProps) {\n return (\n <LoaderErrorBoundary fallback={fallback ?? null} resetKey={loaderKey}>\n <Suspense fallback={fallback ?? null}>\n <SmileRewardsLoaderInner loaderKey={loaderKey}>\n {children}\n </SmileRewardsLoaderInner>\n </Suspense>\n </LoaderErrorBoundary>\n );\n}\n"],
5
+ "mappings": ";AA+CS;AA3CT,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AACjC,SAAS,SAAS;AAElB,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAEpC,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACjC,IAAI,EAAE,OAAO;AAAA,EACb,MAAM,EAAE,OAAO;AAAA,EACf,YAAY,EAAE,OAAO;AAAA,EACrB,YAAY,EAAE,OAAO;AAAA,EACrB,eAAe,EAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAED,MAAM,2BAA2B,EAAE,OAAO;AAAA,EACxC,SAAS,EAAE,MAAM,iBAAiB;AACpC,CAAC;AAUD,SAAS,wBAAwB;AAAA,EAC/B;AAAA,EACA;AACF,GAA8C;AAC5C,QAAM,cAAc,iBAAiB;AAAA,IACnC,UAAU,CAAC,WAAW,CAAC,CAAC;AAAA,IACxB,SAAS,YAAY;AACnB,YAAM,aAAa,MAAM,aAAa;AAAA,QACpC;AAAA,QACA,MAAM,CAAC;AAAA,MACT,CAAC;AACD,aAAO,yBAAyB,MAAM,UAAU;AAAA,IAClD;AAAA,EACF,CAAC;AAED,SAAO,gCAAG,mBAAS,YAAY,IAAI,GAAE;AACvC;AAEO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,SACE,oBAAC,uBAAoB,UAAU,YAAY,MAAM,UAAU,WACzD,8BAAC,YAAS,UAAU,YAAY,MAC9B,8BAAC,2BAAwB,WACtB,UACH,GACF,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from "react";
2
+ import { z } from "zod";
3
+ declare const smileVipTierSchema: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ name: z.ZodString;
6
+ minimumPointsRequired: z.ZodNumber;
7
+ color: z.ZodNullable<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ export type SmileVipTier = z.infer<typeof smileVipTierSchema>;
10
+ type SmileVipTiersLoaderProps = {
11
+ loaderKey: string;
12
+ children: (data: {
13
+ vipTiers: SmileVipTier[];
14
+ }) => ReactNode;
15
+ fallback?: ReactNode;
16
+ };
17
+ export declare function SmileVipTiersLoader({ loaderKey, children, fallback, }: SmileVipTiersLoaderProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ import { Suspense } from "react";
4
+ import { useSuspenseQuery } from "@tanstack/react-query";
5
+ import { z } from "zod";
6
+ import { invokeLoader } from "./invoke-loader";
7
+ import { LoaderErrorBoundary } from "./loader-error-boundary";
8
+ const smileVipTierSchema = z.object({
9
+ id: z.number(),
10
+ name: z.string(),
11
+ minimumPointsRequired: z.number(),
12
+ color: z.string().nullable()
13
+ });
14
+ const smileVipTiersOutputSchema = z.object({
15
+ vipTiers: z.array(smileVipTierSchema)
16
+ });
17
+ function SmileVipTiersLoaderInner({
18
+ loaderKey,
19
+ children
20
+ }) {
21
+ const queryResult = useSuspenseQuery({
22
+ queryKey: [loaderKey, {}],
23
+ queryFn: async () => {
24
+ const loadedData = await invokeLoader({
25
+ loaderKey,
26
+ args: {}
27
+ });
28
+ return smileVipTiersOutputSchema.parse(loadedData);
29
+ }
30
+ });
31
+ return /* @__PURE__ */ jsx(Fragment, { children: children(queryResult.data) });
32
+ }
33
+ function SmileVipTiersLoader({
34
+ loaderKey,
35
+ children,
36
+ fallback
37
+ }) {
38
+ return /* @__PURE__ */ jsx(LoaderErrorBoundary, { fallback: fallback ?? null, resetKey: loaderKey, children: /* @__PURE__ */ jsx(Suspense, { fallback: fallback ?? null, children: /* @__PURE__ */ jsx(SmileVipTiersLoaderInner, { loaderKey, children }) }) });
39
+ }
40
+ export {
41
+ SmileVipTiersLoader
42
+ };
43
+ //# sourceMappingURL=smile-vip-tiers-loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../loaders/smile-vip-tiers-loader.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { Suspense } from \"react\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { z } from \"zod\";\n\nimport { invokeLoader } from \"./invoke-loader\";\nimport { LoaderErrorBoundary } from \"./loader-error-boundary\";\n\nconst smileVipTierSchema = z.object({\n id: z.number(),\n name: z.string(),\n minimumPointsRequired: z.number(),\n color: z.string().nullable(),\n});\n\nconst smileVipTiersOutputSchema = z.object({\n vipTiers: z.array(smileVipTierSchema),\n});\n\nexport type SmileVipTier = z.infer<typeof smileVipTierSchema>;\n\ntype SmileVipTiersLoaderProps = {\n loaderKey: string;\n children: (data: { vipTiers: SmileVipTier[] }) => ReactNode;\n fallback?: ReactNode;\n};\n\nfunction SmileVipTiersLoaderInner({\n loaderKey,\n children,\n}: Omit<SmileVipTiersLoaderProps, \"fallback\">) {\n const queryResult = useSuspenseQuery({\n queryKey: [loaderKey, {}],\n queryFn: async () => {\n const loadedData = await invokeLoader({\n loaderKey,\n args: {},\n });\n return smileVipTiersOutputSchema.parse(loadedData);\n },\n });\n\n return <>{children(queryResult.data)}</>;\n}\n\nexport function SmileVipTiersLoader({\n loaderKey,\n children,\n fallback,\n}: SmileVipTiersLoaderProps) {\n return (\n <LoaderErrorBoundary fallback={fallback ?? null} resetKey={loaderKey}>\n <Suspense fallback={fallback ?? null}>\n <SmileVipTiersLoaderInner loaderKey={loaderKey}>\n {children}\n </SmileVipTiersLoaderInner>\n </Suspense>\n </LoaderErrorBoundary>\n );\n}\n"],
5
+ "mappings": ";AA8CS;AA1CT,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AACjC,SAAS,SAAS;AAElB,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAEpC,MAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,IAAI,EAAE,OAAO;AAAA,EACb,MAAM,EAAE,OAAO;AAAA,EACf,uBAAuB,EAAE,OAAO;AAAA,EAChC,OAAO,EAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAED,MAAM,4BAA4B,EAAE,OAAO;AAAA,EACzC,UAAU,EAAE,MAAM,kBAAkB;AACtC,CAAC;AAUD,SAAS,yBAAyB;AAAA,EAChC;AAAA,EACA;AACF,GAA+C;AAC7C,QAAM,cAAc,iBAAiB;AAAA,IACnC,UAAU,CAAC,WAAW,CAAC,CAAC;AAAA,IACxB,SAAS,YAAY;AACnB,YAAM,aAAa,MAAM,aAAa;AAAA,QACpC;AAAA,QACA,MAAM,CAAC;AAAA,MACT,CAAC;AACD,aAAO,0BAA0B,MAAM,UAAU;AAAA,IACnD;AAAA,EACF,CAAC;AAED,SAAO,gCAAG,mBAAS,YAAY,IAAI,GAAE;AACvC;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AACF,GAA6B;AAC3B,SACE,oBAAC,uBAAoB,UAAU,YAAY,MAAM,UAAU,WACzD,8BAAC,YAAS,UAAU,YAAY,MAC9B,8BAAC,4BAAyB,WACvB,UACH,GACF,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from "react";
2
+ import type { StatsigExperimentAssignment } from "./loader-schemas";
3
+ type StatsigExperimentLoaderProps = {
4
+ loaderKey: string;
5
+ experimentName: string;
6
+ /**
7
+ * Durable per-visitor identifier. Read it from the `statsig_stable_id` cookie
8
+ * in the page's server component and pass the same value to both
9
+ * `PrefetchedLoaders` and this component so the SSR-prefetched assignment
10
+ * hydrates without a refetch and stays consistent across renders.
11
+ */
12
+ stableId: string;
13
+ userId?: string;
14
+ environmentTier?: string;
15
+ customAttributes?: Record<string, string>;
16
+ children: (assignment: StatsigExperimentAssignment) => ReactNode;
17
+ fallback?: ReactNode;
18
+ };
19
+ export declare function StatsigExperimentLoader({ loaderKey, experimentName, stableId, userId, environmentTier, customAttributes, children, fallback, }: StatsigExperimentLoaderProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};