@kizlo/woocommerce 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { a as CoreAddressFieldKeys, c as BillingFieldProjections, d as deserializeBillingFields, f as isExcludedRegisteredField, h as serializeBillingFields, i as checkoutValidationData, l as BillingNativeFields, m as resolveRegisteredFieldTarget, n as CheckoutValidationData, o as deserializeCoreAddress, p as isProjectedBillingField, r as CheckoutValidationIssue, s as serializeCoreAddress, t as CheckoutRegisteredFieldReference, u as BillingNativeInputFields } from "./validation-DDEq7ebc.js";
1
2
  import { CurrencyFormat, IdentifierInput, KizloError, ListMetadata, Seo, createIntegration, createMiddleware, createProcedure, customFieldsSchema, defineErrorMap, deserializeCurrencyFormat, deserializeListMetadata, deserializeSeo, schemaType } from "kizlo";
2
3
  import { BooleanLike, MediaImage, Metadata, NumberLike, arrayable, normalizeArrayableValue, random, seconds, timestampFromIso, timestampFromWpGmt, timestampSec, toPublicMetadata, tryCatch } from "@kizlo/shared";
3
4
  import { SignJWT, jwtVerify } from "jose";
@@ -193,79 +194,6 @@ const REMOVE_COUPON_ERROR_MAP = defineErrorMap({
193
194
  }
194
195
  });
195
196
 
196
- //#endregion
197
- //#region src/field-projections.ts
198
- /** The native API is a projection of a registered value, never a second storage field. */
199
- const BillingFieldProjections = { taxId: {
200
- id: "kizlo/tax-id",
201
- location: "address",
202
- group: "billing",
203
- excludedGroups: ["shipping"],
204
- schema: z$1.string().default("")
205
- } };
206
- const BillingNativeFields = Object.fromEntries(Object.entries(BillingFieldProjections).map(([property, projection]) => [property, projection.schema]));
207
- /** Partial updates must not execute the response/full-submission default for an omitted property. */
208
- const BillingNativeInputFields = Object.fromEntries(Object.entries(BillingFieldProjections).map(([property, projection]) => [property, projection.schema.removeDefault().optional()]));
209
- function isProjectedBillingField(id) {
210
- return Object.values(BillingFieldProjections).some((projection) => projection.id === id);
211
- }
212
- /** Preserve the existing billing-only policy independently of Woo's address registration and UI rules. */
213
- function isExcludedRegisteredField(id, group) {
214
- return Object.values(BillingFieldProjections).some((projection) => projection.id === id && projection.excludedGroups.includes(group));
215
- }
216
- function deserializeBillingFields(fields) {
217
- return Object.fromEntries(Object.entries(BillingFieldProjections).map(([property, projection]) => {
218
- const parsed = projection.schema.safeParse(fields[projection.id]);
219
- return [property, parsed.success ? parsed.data : projection.schema.parse(void 0)];
220
- }));
221
- }
222
- /** Bypass callers must obey the same single-value contract as typed/schema-validated callers. */
223
- function serializeBillingFields(address) {
224
- const fields = {};
225
- for (const [property, projection] of Object.entries(BillingFieldProjections)) {
226
- if (Object.hasOwn(address.additionalFields ?? {}, projection.id)) throw new TypeError(`Use billingAddress.${property} instead of additionalFields["${projection.id}"].`);
227
- const value = address[property];
228
- if (value !== void 0) fields[projection.id] = value;
229
- }
230
- return fields;
231
- }
232
- /** Resolve only registered, unambiguous identities. Group-level errors need no invented leaf target. */
233
- function resolveRegisteredFieldTarget(locations, id, group, surface = "checkout") {
234
- const matches = Object.keys(locations).filter((location$1) => locations[location$1].includes(id));
235
- const location = matches[0];
236
- if (matches.length !== 1 || location === void 0) return null;
237
- if (location !== "address") {
238
- if (group !== void 0 && group !== "other" || surface === "customer" && location === "order") return null;
239
- return {
240
- id,
241
- location,
242
- group: "other",
243
- path: ["additionalFields", id],
244
- wirePath: ["additional_fields", id]
245
- };
246
- }
247
- if (group !== "billing" && group !== "shipping") return null;
248
- if (isExcludedRegisteredField(id, group)) return null;
249
- const address = surface === "customer" ? group : `${group}Address`;
250
- const wireAddress = surface === "customer" ? group : `${group}_address`;
251
- const projection = Object.entries(BillingFieldProjections).find(([, projection$1]) => projection$1.id === id && projection$1.group === group);
252
- return {
253
- id,
254
- location,
255
- group,
256
- path: projection ? [address, projection[0]] : [
257
- address,
258
- "additionalFields",
259
- id
260
- ],
261
- wirePath: surface === "customer" ? [
262
- wireAddress,
263
- "additional_fields",
264
- id
265
- ] : [wireAddress, id]
266
- };
267
- }
268
-
269
197
  //#endregion
270
198
  //#region src/additional-fields.ts
271
199
  /** Structural scalar guard only. Generated types do not execute field enums, requirements or conditions. */
@@ -786,28 +714,6 @@ const UpdateCartInput = z$1.object({
786
714
  billingAddress: CartBillingAddressInput.optional()
787
715
  });
788
716
 
789
- //#endregion
790
- //#region src/address-fields.ts
791
- /** Identity shared by Store API address serialization and storefront bindings. */
792
- const CoreAddressFieldKeys = {
793
- first_name: "firstName",
794
- last_name: "lastName",
795
- company: "company",
796
- address_1: "address1",
797
- address_2: "address2",
798
- city: "city",
799
- state: "state",
800
- postcode: "postcode",
801
- country: "country",
802
- phone: "phone"
803
- };
804
- function deserializeCoreAddress(address) {
805
- return Object.fromEntries(Object.entries(CoreAddressFieldKeys).map(([id, key]) => [key, address[id]]));
806
- }
807
- function serializeCoreAddress(address) {
808
- return Object.fromEntries(Object.entries(CoreAddressFieldKeys).flatMap(([id, key]) => address[key] === void 0 ? [] : [[id, address[key]]]));
809
- }
810
-
811
717
  //#endregion
812
718
  //#region src/product/utils.ts
813
719
  function assertNoMissingStoreProductInputs() {}
@@ -1476,7 +1382,6 @@ const CART_PROCEDURES = {
1476
1382
 
1477
1383
  //#endregion
1478
1384
  //#region src/checkout/error.ts
1479
- const CheckoutValidationData = z$2.object({ fields: z$2.record(z$2.string(), z$2.string()) });
1480
1385
  const CheckoutConflictData = z$2.object({ cart: Cart.nullable() });
1481
1386
  const GET_CHECKOUT_ERROR_MAP = defineErrorMap({ CHECKOUT_ORDER_NOT_FOUND: {
1482
1387
  status: 404,
@@ -1835,9 +1740,10 @@ const CHECKOUT_PROCEDURES = {
1835
1740
  if (response.error) {
1836
1741
  const conflict = conflictData(response.error.data);
1837
1742
  switch (response.error.code) {
1838
- case "rest_invalid_param": throw errors.CHECKOUT_VALIDATION_FAILED({
1743
+ case "rest_invalid_param":
1744
+ case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
1839
1745
  message: response.error.message,
1840
- data: { fields: validationFields(response.error.data) }
1746
+ data: checkoutValidationData(response.error)
1841
1747
  });
1842
1748
  case "woocommerce_rest_cart_coupon_error": throw errors.CHECKOUT_COUPON_INVALID({ message: response.error.message });
1843
1749
  case "woocommerce_rest_checkout_payment_method_disabled": throw errors.CHECKOUT_PAYMENT_METHOD_DISABLED({ message: response.error.message });
@@ -1895,9 +1801,10 @@ const CHECKOUT_PROCEDURES = {
1895
1801
  if (response.error) {
1896
1802
  const conflict = conflictData(response.error.data);
1897
1803
  switch (response.error.code) {
1898
- case "rest_invalid_param": throw errors.CHECKOUT_VALIDATION_FAILED({
1804
+ case "rest_invalid_param":
1805
+ case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
1899
1806
  message: response.error.message,
1900
- data: { fields: validationFields(response.error.data) }
1807
+ data: checkoutValidationData(response.error)
1901
1808
  });
1902
1809
  case "woocommerce_rest_invalid_address": throw errors.CHECKOUT_ADDRESS_INVALID({ message: response.error.message });
1903
1810
  case "woocommerce_rest_invalid_address_country": throw errors.CHECKOUT_ADDRESS_COUNTRY_INVALID({ message: response.error.message });
@@ -1908,10 +1815,6 @@ const CHECKOUT_PROCEDURES = {
1908
1815
  case "woocommerce_rest_checkout_payment_method_disabled": throw errors.CHECKOUT_PAYMENT_METHOD_DISABLED({ message: response.error.message });
1909
1816
  case "woocommerce_rest_checkout_missing_payment_method": throw errors.CHECKOUT_PAYMENT_METHOD_MISSING({ message: response.error.message });
1910
1817
  case "woocommerce_rest_invalid_shipping_option": throw errors.CHECKOUT_SHIPPING_OPTION_INVALID({ message: response.error.message });
1911
- case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
1912
- message: response.error.message,
1913
- data: { fields: {} }
1914
- });
1915
1818
  case "woocommerce_rest_checkout_invalid_payment_result": throw errors.CHECKOUT_PAYMENT_RESULT_INVALID({ message: response.error.message });
1916
1819
  case "woocommerce_rest_guest_checkout_disabled": throw errors.CHECKOUT_GUEST_DISABLED({ message: response.error.message });
1917
1820
  case "woocommerce_rest_checkout_missing_order":
@@ -1981,9 +1884,10 @@ const CHECKOUT_PROCEDURES = {
1981
1884
  }
1982
1885
  }, { headers: context.sessionHeaders });
1983
1886
  if (response.error) switch (response.error.code) {
1984
- case "rest_invalid_param": throw errors.CHECKOUT_VALIDATION_FAILED({
1887
+ case "rest_invalid_param":
1888
+ case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
1985
1889
  message: response.error.message,
1986
- data: { fields: validationFields(response.error.data) }
1890
+ data: checkoutValidationData(response.error)
1987
1891
  });
1988
1892
  case "woocommerce_rest_invalid_billing_email": throw errors.CHECKOUT_EMAIL_INVALID({ message: response.error.message });
1989
1893
  case "woocommerce_rest_checkout_process_payment_error": throw errors.CHECKOUT_PAYMENT_FAILED({ message: response.error.message });
@@ -2003,16 +1907,6 @@ const CHECKOUT_PROCEDURES = {
2003
1907
  return deserializeCheckout(response.data);
2004
1908
  })
2005
1909
  };
2006
- function validationFields(data) {
2007
- if (!isRecord(data)) return {};
2008
- const fields = {};
2009
- for (const source of [data.params, data.details]) {
2010
- if (!isRecord(source)) continue;
2011
- for (const [name, value] of Object.entries(source)) if (typeof value === "string") fields[name] = value;
2012
- else if (isRecord(value) && typeof value.message === "string") fields[name] = value.message;
2013
- }
2014
- return fields;
2015
- }
2016
1910
  function conflictData(data) {
2017
1911
  if (!isRecord(data) || !isRecord(data.cart)) return { cart: null };
2018
1912
  try {
@@ -2781,4 +2675,4 @@ function woocommerce() {
2781
2675
  }
2782
2676
 
2783
2677
  //#endregion
2784
- export { AddCartItemInput, ApplyCouponInput, BillingFieldProjections, Cart, CartAdditionalFields, CartBillingAddress, CartBillingAddressSubmission, CartCoupon, CartCouponTotals, CartError, CartFee, CartFeeTotals, CartItem, CartItemData, CartItemQuantityLimits, CartItemTotals, CartPaymentMethod, CartSelectedAttribute, CartShippingAddress, CartShippingAddressSubmission, CartShippingDestination, CartShippingItem, CartShippingPackage, CartShippingRate, CartShippingRateMetadata, CartTaxLine, CartTotals, Checkout, CheckoutAdditionalFields, CheckoutExtensions, CheckoutPaymentData, CheckoutPaymentResult, ConfirmCheckoutInput, GetOrderInput, ListProductInput, Order, OrderFee, OrderItem, OrderItemProduct, OrderTotals, PRODUCT_ATTRIBUTE_RELATIONS, PRODUCT_CATALOG_VISIBILITIES, PRODUCT_DATE_COLUMNS, PRODUCT_RATINGS, PRODUCT_STOCK_STATUSES, PRODUCT_TYPES, Product, ProductAddToCart, ProductAttributeCount, ProductAttributeFilter, ProductAttributeRelation, ProductAttributeSummary, ProductAttributeTermSummary, ProductBrandSummary, ProductCatalogVisibility, ProductCategorySummary, ProductCustomFieldsSchema, ProductDateColumn, ProductDimensions, ProductExtensions, ProductFilters, ProductFiltersAttributeTerm, ProductFiltersPriceRange, ProductFiltersRatingCount, ProductFiltersStockStatus, ProductFiltersTaxonomyTerm, ProductFiltersTerm, ProductList, ProductOrderBy, ProductPriceRange, ProductPrices, ProductRating, ProductRecommendations, ProductStockAvailability, ProductStockStatus, ProductSummary, ProductTagSummary, ProductTaxonomyFilter, ProductTaxonomyOperator, ProductTermSummary, ProductType, ProductVariationAttributeSummary, ProductVariationSummary, RemoveCartItemInput, RemoveCouponInput, RetrieveProductFiltersInput, RetrieveProductInput, RetryCheckoutInput, SWATCH_TYPES, SelectCartShippingRateInput, Storefront, StorefrontAddress, StorefrontCatalog, StorefrontCheckout, StorefrontCountry, StorefrontField, StorefrontFieldOption, StorefrontFieldOverride, StorefrontFieldRule, StorefrontFieldSchema, StorefrontPricing, SwatchType, UpdateCartInput, UpdateCartItemInput, UpdateCheckoutInput, resolveRegisteredFieldTarget, woocommerce };
2678
+ export { AddCartItemInput, ApplyCouponInput, BillingFieldProjections, Cart, CartAdditionalFields, CartBillingAddress, CartBillingAddressSubmission, CartCoupon, CartCouponTotals, CartError, CartFee, CartFeeTotals, CartItem, CartItemData, CartItemQuantityLimits, CartItemTotals, CartPaymentMethod, CartSelectedAttribute, CartShippingAddress, CartShippingAddressSubmission, CartShippingDestination, CartShippingItem, CartShippingPackage, CartShippingRate, CartShippingRateMetadata, CartTaxLine, CartTotals, Checkout, CheckoutAdditionalFields, CheckoutExtensions, CheckoutPaymentData, CheckoutPaymentResult, CheckoutRegisteredFieldReference, CheckoutValidationData, CheckoutValidationIssue, ConfirmCheckoutInput, GetOrderInput, ListProductInput, Order, OrderFee, OrderItem, OrderItemProduct, OrderTotals, PRODUCT_ATTRIBUTE_RELATIONS, PRODUCT_CATALOG_VISIBILITIES, PRODUCT_DATE_COLUMNS, PRODUCT_RATINGS, PRODUCT_STOCK_STATUSES, PRODUCT_TYPES, Product, ProductAddToCart, ProductAttributeCount, ProductAttributeFilter, ProductAttributeRelation, ProductAttributeSummary, ProductAttributeTermSummary, ProductBrandSummary, ProductCatalogVisibility, ProductCategorySummary, ProductCustomFieldsSchema, ProductDateColumn, ProductDimensions, ProductExtensions, ProductFilters, ProductFiltersAttributeTerm, ProductFiltersPriceRange, ProductFiltersRatingCount, ProductFiltersStockStatus, ProductFiltersTaxonomyTerm, ProductFiltersTerm, ProductList, ProductOrderBy, ProductPriceRange, ProductPrices, ProductRating, ProductRecommendations, ProductStockAvailability, ProductStockStatus, ProductSummary, ProductTagSummary, ProductTaxonomyFilter, ProductTaxonomyOperator, ProductTermSummary, ProductType, ProductVariationAttributeSummary, ProductVariationSummary, RemoveCartItemInput, RemoveCouponInput, RetrieveProductFiltersInput, RetrieveProductInput, RetryCheckoutInput, SWATCH_TYPES, SelectCartShippingRateInput, Storefront, StorefrontAddress, StorefrontCatalog, StorefrontCheckout, StorefrontCountry, StorefrontField, StorefrontFieldOption, StorefrontFieldOverride, StorefrontFieldRule, StorefrontFieldSchema, StorefrontPricing, SwatchType, UpdateCartInput, UpdateCartItemInput, UpdateCheckoutInput, resolveRegisteredFieldTarget, woocommerce };
@@ -0,0 +1,368 @@
1
+ import z$1 from "zod/v4";
2
+ import z$2 from "zod";
3
+
4
+ //#region src/checkout/validation.d.ts
5
+ declare const CheckoutRegisteredFieldReference: z$1.ZodObject<{
6
+ id: z$1.ZodString;
7
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
8
+ billingAddress: "billingAddress";
9
+ shippingAddress: "shippingAddress";
10
+ additionalFields: "additionalFields";
11
+ }>>;
12
+ }, z$1.core.$strip>;
13
+ type CheckoutRegisteredFieldReference = z$1.infer<typeof CheckoutRegisteredFieldReference>;
14
+ declare const CheckoutValidationIssue: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
15
+ source: z$1.ZodNullable<z$1.ZodString>;
16
+ sourcePath: z$1.ZodArray<z$1.ZodString>;
17
+ code: z$1.ZodNullable<z$1.ZodString>;
18
+ message: z$1.ZodString;
19
+ registeredFields: z$1.ZodArray<z$1.ZodObject<{
20
+ id: z$1.ZodString;
21
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
22
+ billingAddress: "billingAddress";
23
+ shippingAddress: "shippingAddress";
24
+ additionalFields: "additionalFields";
25
+ }>>;
26
+ }, z$1.core.$strip>>;
27
+ scope: z$1.ZodLiteral<"field">;
28
+ target: z$1.ZodArray<z$1.ZodString>;
29
+ }, z$1.core.$strip>, z$1.ZodObject<{
30
+ source: z$1.ZodNullable<z$1.ZodString>;
31
+ sourcePath: z$1.ZodArray<z$1.ZodString>;
32
+ code: z$1.ZodNullable<z$1.ZodString>;
33
+ message: z$1.ZodString;
34
+ registeredFields: z$1.ZodArray<z$1.ZodObject<{
35
+ id: z$1.ZodString;
36
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
37
+ billingAddress: "billingAddress";
38
+ shippingAddress: "shippingAddress";
39
+ additionalFields: "additionalFields";
40
+ }>>;
41
+ }, z$1.core.$strip>>;
42
+ scope: z$1.ZodLiteral<"group">;
43
+ target: z$1.ZodArray<z$1.ZodString>;
44
+ }, z$1.core.$strip>, z$1.ZodObject<{
45
+ source: z$1.ZodNullable<z$1.ZodString>;
46
+ sourcePath: z$1.ZodArray<z$1.ZodString>;
47
+ code: z$1.ZodNullable<z$1.ZodString>;
48
+ message: z$1.ZodString;
49
+ registeredFields: z$1.ZodArray<z$1.ZodObject<{
50
+ id: z$1.ZodString;
51
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
52
+ billingAddress: "billingAddress";
53
+ shippingAddress: "shippingAddress";
54
+ additionalFields: "additionalFields";
55
+ }>>;
56
+ }, z$1.core.$strip>>;
57
+ scope: z$1.ZodLiteral<"unresolved">;
58
+ target: z$1.ZodNull;
59
+ }, z$1.core.$strip>], "scope">;
60
+ type CheckoutValidationIssue = z$1.infer<typeof CheckoutValidationIssue>;
61
+ declare const CheckoutValidationData: z$1.ZodObject<{
62
+ issues: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
63
+ source: z$1.ZodNullable<z$1.ZodString>;
64
+ sourcePath: z$1.ZodArray<z$1.ZodString>;
65
+ code: z$1.ZodNullable<z$1.ZodString>;
66
+ message: z$1.ZodString;
67
+ registeredFields: z$1.ZodArray<z$1.ZodObject<{
68
+ id: z$1.ZodString;
69
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
70
+ billingAddress: "billingAddress";
71
+ shippingAddress: "shippingAddress";
72
+ additionalFields: "additionalFields";
73
+ }>>;
74
+ }, z$1.core.$strip>>;
75
+ scope: z$1.ZodLiteral<"field">;
76
+ target: z$1.ZodArray<z$1.ZodString>;
77
+ }, z$1.core.$strip>, z$1.ZodObject<{
78
+ source: z$1.ZodNullable<z$1.ZodString>;
79
+ sourcePath: z$1.ZodArray<z$1.ZodString>;
80
+ code: z$1.ZodNullable<z$1.ZodString>;
81
+ message: z$1.ZodString;
82
+ registeredFields: z$1.ZodArray<z$1.ZodObject<{
83
+ id: z$1.ZodString;
84
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
85
+ billingAddress: "billingAddress";
86
+ shippingAddress: "shippingAddress";
87
+ additionalFields: "additionalFields";
88
+ }>>;
89
+ }, z$1.core.$strip>>;
90
+ scope: z$1.ZodLiteral<"group">;
91
+ target: z$1.ZodArray<z$1.ZodString>;
92
+ }, z$1.core.$strip>, z$1.ZodObject<{
93
+ source: z$1.ZodNullable<z$1.ZodString>;
94
+ sourcePath: z$1.ZodArray<z$1.ZodString>;
95
+ code: z$1.ZodNullable<z$1.ZodString>;
96
+ message: z$1.ZodString;
97
+ registeredFields: z$1.ZodArray<z$1.ZodObject<{
98
+ id: z$1.ZodString;
99
+ bucket: z$1.ZodNullable<z$1.ZodEnum<{
100
+ billingAddress: "billingAddress";
101
+ shippingAddress: "shippingAddress";
102
+ additionalFields: "additionalFields";
103
+ }>>;
104
+ }, z$1.core.$strip>>;
105
+ scope: z$1.ZodLiteral<"unresolved">;
106
+ target: z$1.ZodNull;
107
+ }, z$1.core.$strip>], "scope">>;
108
+ }, z$1.core.$strict>;
109
+ type CheckoutValidationData = z$1.infer<typeof CheckoutValidationData>;
110
+ //#endregion
111
+ //#region src/storefront/schema.d.ts
112
+ /**
113
+ * A plugin-registered field may make `required` or `hidden` a JSON Schema rule evaluated against the
114
+ * checkout rather than a fixed boolean.
115
+ */
116
+ declare const StorefrontFieldRule: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
117
+ type StorefrontFieldRule = z$2.infer<typeof StorefrontFieldRule>;
118
+ declare const StorefrontFieldOption: z$2.ZodObject<{
119
+ value: z$2.ZodString;
120
+ label: z$2.ZodString;
121
+ }, z$2.core.$strip>;
122
+ type StorefrontFieldOption = z$2.infer<typeof StorefrontFieldOption>;
123
+ /** JSON Schema draft-07, retained as data for the consumer's validator. */
124
+ declare const StorefrontFieldSchema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
125
+ type StorefrontFieldSchema = z$2.infer<typeof StorefrontFieldSchema>;
126
+ declare const StorefrontField: z$2.ZodObject<{
127
+ id: z$2.ZodString;
128
+ location: z$2.ZodEnum<{
129
+ address: "address";
130
+ order: "order";
131
+ contact: "contact";
132
+ }>;
133
+ attributes: z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>;
134
+ schema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
135
+ bindings: z$2.ZodObject<{
136
+ billing: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
137
+ shipping: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
138
+ other: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
139
+ }, z$2.core.$strip>;
140
+ label: z$2.ZodString;
141
+ optionalLabel: z$2.ZodString;
142
+ required: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
143
+ hidden: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
144
+ type: z$2.ZodNullable<z$2.ZodString>;
145
+ autocomplete: z$2.ZodNullable<z$2.ZodString>;
146
+ index: z$2.ZodNullable<z$2.ZodNumber>;
147
+ placeholder: z$2.ZodNullable<z$2.ZodString>;
148
+ options: z$2.ZodArray<z$2.ZodObject<{
149
+ value: z$2.ZodString;
150
+ label: z$2.ZodString;
151
+ }, z$2.core.$strip>>;
152
+ }, z$2.core.$strip>;
153
+ type StorefrontField = z$2.infer<typeof StorefrontField>;
154
+ /** What a country changes about a field. Anything it leaves out keeps the field's default. */
155
+ declare const StorefrontFieldOverride: z$2.ZodObject<{
156
+ label: z$2.ZodOptional<z$2.ZodString>;
157
+ required: z$2.ZodOptional<z$2.ZodBoolean>;
158
+ hidden: z$2.ZodOptional<z$2.ZodBoolean>;
159
+ index: z$2.ZodOptional<z$2.ZodNumber>;
160
+ }, z$2.core.$strip>;
161
+ type StorefrontFieldOverride = z$2.infer<typeof StorefrontFieldOverride>;
162
+ declare const StorefrontCountry: z$2.ZodObject<{
163
+ code: z$2.ZodString;
164
+ name: z$2.ZodString;
165
+ allowBilling: z$2.ZodBoolean;
166
+ allowShipping: z$2.ZodBoolean;
167
+ states: z$2.ZodArray<z$2.ZodObject<{
168
+ code: z$2.ZodString;
169
+ name: z$2.ZodString;
170
+ }, z$2.core.$strip>>;
171
+ locale: z$2.ZodRecord<z$2.ZodString, z$2.ZodObject<{
172
+ label: z$2.ZodOptional<z$2.ZodString>;
173
+ required: z$2.ZodOptional<z$2.ZodBoolean>;
174
+ hidden: z$2.ZodOptional<z$2.ZodBoolean>;
175
+ index: z$2.ZodOptional<z$2.ZodNumber>;
176
+ }, z$2.core.$strip>>;
177
+ format: z$2.ZodString;
178
+ }, z$2.core.$strip>;
179
+ type StorefrontCountry = z$2.infer<typeof StorefrontCountry>;
180
+ declare const StorefrontAddress: z$2.ZodObject<{
181
+ countries: z$2.ZodArray<z$2.ZodObject<{
182
+ code: z$2.ZodString;
183
+ name: z$2.ZodString;
184
+ allowBilling: z$2.ZodBoolean;
185
+ allowShipping: z$2.ZodBoolean;
186
+ states: z$2.ZodArray<z$2.ZodObject<{
187
+ code: z$2.ZodString;
188
+ name: z$2.ZodString;
189
+ }, z$2.core.$strip>>;
190
+ locale: z$2.ZodRecord<z$2.ZodString, z$2.ZodObject<{
191
+ label: z$2.ZodOptional<z$2.ZodString>;
192
+ required: z$2.ZodOptional<z$2.ZodBoolean>;
193
+ hidden: z$2.ZodOptional<z$2.ZodBoolean>;
194
+ index: z$2.ZodOptional<z$2.ZodNumber>;
195
+ }, z$2.core.$strip>>;
196
+ format: z$2.ZodString;
197
+ }, z$2.core.$strip>>;
198
+ defaultAddressFormat: z$2.ZodString;
199
+ fields: z$2.ZodArray<z$2.ZodObject<{
200
+ id: z$2.ZodString;
201
+ location: z$2.ZodEnum<{
202
+ address: "address";
203
+ order: "order";
204
+ contact: "contact";
205
+ }>;
206
+ attributes: z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>;
207
+ schema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
208
+ bindings: z$2.ZodObject<{
209
+ billing: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
210
+ shipping: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
211
+ other: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
212
+ }, z$2.core.$strip>;
213
+ label: z$2.ZodString;
214
+ optionalLabel: z$2.ZodString;
215
+ required: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
216
+ hidden: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
217
+ type: z$2.ZodNullable<z$2.ZodString>;
218
+ autocomplete: z$2.ZodNullable<z$2.ZodString>;
219
+ index: z$2.ZodNullable<z$2.ZodNumber>;
220
+ placeholder: z$2.ZodNullable<z$2.ZodString>;
221
+ options: z$2.ZodArray<z$2.ZodObject<{
222
+ value: z$2.ZodString;
223
+ label: z$2.ZodString;
224
+ }, z$2.core.$strip>>;
225
+ }, z$2.core.$strip>>;
226
+ baseCountry: z$2.ZodString;
227
+ defaultCountry: z$2.ZodNullable<z$2.ZodString>;
228
+ }, z$2.core.$strip>;
229
+ type StorefrontAddress = z$2.infer<typeof StorefrontAddress>;
230
+ declare const StorefrontCheckout: z$2.ZodObject<{
231
+ allowsGuest: z$2.ZodBoolean;
232
+ couponsEnabled: z$2.ZodBoolean;
233
+ forcedBillingAddress: z$2.ZodBoolean;
234
+ taxesEnabled: z$2.ZodBoolean;
235
+ displayCartPricesIncludingTax: z$2.ZodBoolean;
236
+ displayItemizedTaxes: z$2.ZodBoolean;
237
+ shippingEnabled: z$2.ZodBoolean;
238
+ localPickup: z$2.ZodObject<{
239
+ enabled: z$2.ZodBoolean;
240
+ title: z$2.ZodString;
241
+ cost: z$2.ZodString;
242
+ methodIds: z$2.ZodNullable<z$2.ZodArray<z$2.ZodString>>;
243
+ }, z$2.core.$strip>;
244
+ }, z$2.core.$strip>;
245
+ type StorefrontCheckout = z$2.infer<typeof StorefrontCheckout>;
246
+ declare const StorefrontPricing: z$2.ZodObject<{
247
+ currency: z$2.ZodObject<{
248
+ currencyCode: z$2.ZodString;
249
+ currencySymbol: z$2.ZodString;
250
+ currencyPrefix: z$2.ZodString;
251
+ currencySuffix: z$2.ZodString;
252
+ currencyMinorUnit: z$2.ZodNumber;
253
+ currencyDecimalSeparator: z$2.ZodString;
254
+ currencyThousandSeparator: z$2.ZodString;
255
+ }, z$2.core.$strip>;
256
+ pricesIncludeTax: z$2.ZodBoolean;
257
+ displayShopPricesIncludingTax: z$2.ZodBoolean;
258
+ priceSuffix: z$2.ZodString;
259
+ }, z$2.core.$strip>;
260
+ type StorefrontPricing = z$2.infer<typeof StorefrontPricing>;
261
+ declare const StorefrontCatalog: z$2.ZodObject<{
262
+ weightUnit: z$2.ZodString;
263
+ dimensionUnit: z$2.ZodString;
264
+ reviewsEnabled: z$2.ZodBoolean;
265
+ reviewRatingsEnabled: z$2.ZodBoolean;
266
+ reviewRatingRequired: z$2.ZodBoolean;
267
+ reviewsVerifiedOwnersOnly: z$2.ZodBoolean;
268
+ stockFormat: z$2.ZodString;
269
+ hideOutOfStock: z$2.ZodBoolean;
270
+ placeholderImage: z$2.ZodString;
271
+ cartRedirectAfterAdd: z$2.ZodBoolean;
272
+ }, z$2.core.$strip>;
273
+ type StorefrontCatalog = z$2.infer<typeof StorefrontCatalog>;
274
+ declare const Storefront: z$2.ZodObject<{
275
+ address: z$2.ZodObject<{
276
+ countries: z$2.ZodArray<z$2.ZodObject<{
277
+ code: z$2.ZodString;
278
+ name: z$2.ZodString;
279
+ allowBilling: z$2.ZodBoolean;
280
+ allowShipping: z$2.ZodBoolean;
281
+ states: z$2.ZodArray<z$2.ZodObject<{
282
+ code: z$2.ZodString;
283
+ name: z$2.ZodString;
284
+ }, z$2.core.$strip>>;
285
+ locale: z$2.ZodRecord<z$2.ZodString, z$2.ZodObject<{
286
+ label: z$2.ZodOptional<z$2.ZodString>;
287
+ required: z$2.ZodOptional<z$2.ZodBoolean>;
288
+ hidden: z$2.ZodOptional<z$2.ZodBoolean>;
289
+ index: z$2.ZodOptional<z$2.ZodNumber>;
290
+ }, z$2.core.$strip>>;
291
+ format: z$2.ZodString;
292
+ }, z$2.core.$strip>>;
293
+ defaultAddressFormat: z$2.ZodString;
294
+ fields: z$2.ZodArray<z$2.ZodObject<{
295
+ id: z$2.ZodString;
296
+ location: z$2.ZodEnum<{
297
+ address: "address";
298
+ order: "order";
299
+ contact: "contact";
300
+ }>;
301
+ attributes: z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>;
302
+ schema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
303
+ bindings: z$2.ZodObject<{
304
+ billing: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
305
+ shipping: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
306
+ other: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
307
+ }, z$2.core.$strip>;
308
+ label: z$2.ZodString;
309
+ optionalLabel: z$2.ZodString;
310
+ required: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
311
+ hidden: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
312
+ type: z$2.ZodNullable<z$2.ZodString>;
313
+ autocomplete: z$2.ZodNullable<z$2.ZodString>;
314
+ index: z$2.ZodNullable<z$2.ZodNumber>;
315
+ placeholder: z$2.ZodNullable<z$2.ZodString>;
316
+ options: z$2.ZodArray<z$2.ZodObject<{
317
+ value: z$2.ZodString;
318
+ label: z$2.ZodString;
319
+ }, z$2.core.$strip>>;
320
+ }, z$2.core.$strip>>;
321
+ baseCountry: z$2.ZodString;
322
+ defaultCountry: z$2.ZodNullable<z$2.ZodString>;
323
+ }, z$2.core.$strip>;
324
+ checkout: z$2.ZodObject<{
325
+ allowsGuest: z$2.ZodBoolean;
326
+ couponsEnabled: z$2.ZodBoolean;
327
+ forcedBillingAddress: z$2.ZodBoolean;
328
+ taxesEnabled: z$2.ZodBoolean;
329
+ displayCartPricesIncludingTax: z$2.ZodBoolean;
330
+ displayItemizedTaxes: z$2.ZodBoolean;
331
+ shippingEnabled: z$2.ZodBoolean;
332
+ localPickup: z$2.ZodObject<{
333
+ enabled: z$2.ZodBoolean;
334
+ title: z$2.ZodString;
335
+ cost: z$2.ZodString;
336
+ methodIds: z$2.ZodNullable<z$2.ZodArray<z$2.ZodString>>;
337
+ }, z$2.core.$strip>;
338
+ }, z$2.core.$strip>;
339
+ pricing: z$2.ZodObject<{
340
+ currency: z$2.ZodObject<{
341
+ currencyCode: z$2.ZodString;
342
+ currencySymbol: z$2.ZodString;
343
+ currencyPrefix: z$2.ZodString;
344
+ currencySuffix: z$2.ZodString;
345
+ currencyMinorUnit: z$2.ZodNumber;
346
+ currencyDecimalSeparator: z$2.ZodString;
347
+ currencyThousandSeparator: z$2.ZodString;
348
+ }, z$2.core.$strip>;
349
+ pricesIncludeTax: z$2.ZodBoolean;
350
+ displayShopPricesIncludingTax: z$2.ZodBoolean;
351
+ priceSuffix: z$2.ZodString;
352
+ }, z$2.core.$strip>;
353
+ catalog: z$2.ZodObject<{
354
+ weightUnit: z$2.ZodString;
355
+ dimensionUnit: z$2.ZodString;
356
+ reviewsEnabled: z$2.ZodBoolean;
357
+ reviewRatingsEnabled: z$2.ZodBoolean;
358
+ reviewRatingRequired: z$2.ZodBoolean;
359
+ reviewsVerifiedOwnersOnly: z$2.ZodBoolean;
360
+ stockFormat: z$2.ZodString;
361
+ hideOutOfStock: z$2.ZodBoolean;
362
+ placeholderImage: z$2.ZodString;
363
+ cartRedirectAfterAdd: z$2.ZodBoolean;
364
+ }, z$2.core.$strip>;
365
+ }, z$2.core.$strip>;
366
+ type Storefront = z$2.infer<typeof Storefront>;
367
+ //#endregion
368
+ export { StorefrontCountry as a, StorefrontFieldOverride as c, StorefrontPricing as d, CheckoutRegisteredFieldReference as f, StorefrontCheckout as i, StorefrontFieldRule as l, CheckoutValidationIssue as m, StorefrontAddress as n, StorefrontField as o, CheckoutValidationData as p, StorefrontCatalog as r, StorefrontFieldOption as s, Storefront as t, StorefrontFieldSchema as u };