@cimplify/sdk 0.82.0 → 0.84.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 (50) hide show
  1. package/dist/advanced.d.mts +3 -3
  2. package/dist/advanced.d.ts +3 -3
  3. package/dist/{chunk-SRJEMEVZ.js → chunk-FKBXZ2A6.js} +212 -6
  4. package/dist/{chunk-7PAQR3VC.mjs → chunk-I6RE4BKH.mjs} +4 -2
  5. package/dist/{chunk-IZDJEDR4.js → chunk-ODEPW244.js} +5 -3
  6. package/dist/{chunk-BRVIXGUW.mjs → chunk-PLTP6HWW.mjs} +212 -6
  7. package/dist/{client-DnHP_2Jw.d.mts → client-Ba4Hng9i.d.mts} +2 -2
  8. package/dist/{client-BSpVgule.d.mts → client-BjUJapti.d.mts} +2 -2
  9. package/dist/{client-xc2aQSB4.d.ts → client-CINi3Dw3.d.ts} +2 -2
  10. package/dist/{client-Dh-KIIX8.d.ts → client-D8AjO8jb.d.ts} +2 -2
  11. package/dist/{index-Dy8D3r9b.d.mts → index-9Bl-zBAI.d.mts} +3 -3
  12. package/dist/{index-C4xE31-D.d.ts → index-DCPxHjbj.d.ts} +3 -3
  13. package/dist/index.d.mts +6 -6
  14. package/dist/index.d.ts +6 -6
  15. package/dist/mock/cli.mjs +309 -19
  16. package/dist/mock/library.js +223 -6
  17. package/dist/mock/library.mjs +216 -7
  18. package/dist/mock/msw.js +212 -6
  19. package/dist/mock/msw.mjs +212 -6
  20. package/dist/{payment-nH9OCUg2.d.ts → payment-BVv9leS_.d.ts} +1 -1
  21. package/dist/{payment-T_0MUE9o.d.mts → payment-D61iGd0o.d.mts} +1 -1
  22. package/dist/{price-B8WMoldA.d.ts → price-BYWCHYO5.d.ts} +3 -1
  23. package/dist/{price-Bg7hujK_.d.mts → price-Cthq6nPb.d.mts} +3 -1
  24. package/dist/{product-DXhjLQ_w.d.mts → product-2MAoE0kZ.d.mts} +26 -1
  25. package/dist/{product-DXhjLQ_w.d.ts → product-2MAoE0kZ.d.ts} +26 -1
  26. package/dist/react.d.mts +36 -5
  27. package/dist/react.d.ts +36 -5
  28. package/dist/react.js +99 -11
  29. package/dist/react.mjs +99 -12
  30. package/dist/{server-tr993CPj.d.mts → server-BjQ0xWmc.d.mts} +87 -3
  31. package/dist/{server-wAB-qfyZ.d.ts → server-DDaQIYLa.d.ts} +87 -3
  32. package/dist/server.d.mts +4 -4
  33. package/dist/server.d.ts +4 -4
  34. package/dist/testing/msw.d.mts +2 -2
  35. package/dist/testing/msw.d.ts +2 -2
  36. package/dist/testing/msw.js +2 -2
  37. package/dist/testing/msw.mjs +1 -1
  38. package/dist/testing/suite.d.mts +6 -6
  39. package/dist/testing/suite.d.ts +6 -6
  40. package/dist/testing/suite.js +21 -21
  41. package/dist/testing/suite.mjs +2 -2
  42. package/dist/testing.d.mts +11 -5
  43. package/dist/testing.d.ts +11 -5
  44. package/dist/testing.js +77 -77
  45. package/dist/testing.mjs +3 -3
  46. package/dist/utils.d.mts +4 -4
  47. package/dist/utils.d.ts +4 -4
  48. package/package.json +1 -1
  49. package/registry/default-product-layout.json +1 -1
  50. package/registry/retail-product-card.json +1 -1
package/dist/mock/msw.js CHANGED
@@ -5899,6 +5899,14 @@ function createLinkService({ clock, ids }) {
5899
5899
  };
5900
5900
  }
5901
5901
 
5902
+ // src/mock/state/snapshot.ts
5903
+ function applySnapshot(reg, data) {
5904
+ for (const [k, v] of Object.entries(data)) {
5905
+ const store = reg[k];
5906
+ if (store) store.loadJSON(v);
5907
+ }
5908
+ }
5909
+
5902
5910
  // src/mock/seeds/image.ts
5903
5911
  var CDN_BASE_URL = "https://static-tmp.cimplify.io";
5904
5912
  function seedImage(industry, slug) {
@@ -10266,15 +10274,214 @@ function applySeed(registry, name) {
10266
10274
  return fn(registry);
10267
10275
  }
10268
10276
 
10277
+ // src/mock/seeds/context.ts
10278
+ var SEED_ISO = "2026-01-01T00:00:00.000Z";
10279
+ var ID_PREFIX = {
10280
+ business: "bus_",
10281
+ category: "cat_",
10282
+ collection: "col_",
10283
+ product: "prod_",
10284
+ service: "svc_"
10285
+ };
10286
+ var DEFAULT_CURRENCY = "GHS";
10287
+ function slugify(value) {
10288
+ return value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
10289
+ }
10290
+ function makeSeedContext(registry) {
10291
+ let current;
10292
+ const requireBusiness = () => {
10293
+ if (current) return current;
10294
+ const sole = registry.businesses.list();
10295
+ if (sole.length === 1) {
10296
+ current = sole[0];
10297
+ return current;
10298
+ }
10299
+ throw new Error("Seed must create a business (ctx.business) before adding child records.");
10300
+ };
10301
+ const resolveCategoryId = (cat) => {
10302
+ if (!cat) return void 0;
10303
+ if (typeof cat !== "string") return cat.id;
10304
+ if (registry.categories.get(cat)) return cat;
10305
+ return registry.categories.list().find((c) => c.slug === cat)?.id;
10306
+ };
10307
+ const resolveCollectionId = (col) => {
10308
+ if (!col) return void 0;
10309
+ if (typeof col !== "string") return col.id;
10310
+ if (registry.collections.get(col)) return col;
10311
+ return registry.collections.list().find((c) => c.slug === col)?.id;
10312
+ };
10313
+ return {
10314
+ registry,
10315
+ business(input) {
10316
+ const handle = input.handle ?? slugify(input.name);
10317
+ const id = `${ID_PREFIX.business}${slugify(handle)}`;
10318
+ const business = {
10319
+ business_type: "other",
10320
+ email: `hello@${handle}.test`,
10321
+ default_currency: DEFAULT_CURRENCY,
10322
+ default_offers_table_service: false,
10323
+ default_accepts_online_orders: true,
10324
+ status: "active",
10325
+ created_by: "seed",
10326
+ preferences: {},
10327
+ is_online_only: true,
10328
+ enabled_payment_types: ["mobile_money"],
10329
+ default_location_settings: {},
10330
+ country_code: "GH",
10331
+ timezone: "Africa/Accra",
10332
+ ...input,
10333
+ id,
10334
+ handle,
10335
+ created_at: input.created_at ?? SEED_ISO,
10336
+ updated_at: input.updated_at ?? SEED_ISO
10337
+ };
10338
+ registry.businesses.put(id, business);
10339
+ current = business;
10340
+ return business;
10341
+ },
10342
+ category(input) {
10343
+ const business = requireBusiness();
10344
+ const slug = input.slug ?? slugify(input.name);
10345
+ const id = `${ID_PREFIX.category}${slug}`;
10346
+ const category = {
10347
+ id,
10348
+ business_id: business.id,
10349
+ name: input.name,
10350
+ slug,
10351
+ description: input.description,
10352
+ image: input.image,
10353
+ product_ids: [],
10354
+ display_order: input.displayOrder ?? 0,
10355
+ is_active: true,
10356
+ created_at: SEED_ISO,
10357
+ updated_at: SEED_ISO
10358
+ };
10359
+ registry.categories.put(id, category);
10360
+ return category;
10361
+ },
10362
+ collection(input) {
10363
+ const business = requireBusiness();
10364
+ const slug = input.slug ?? slugify(input.name);
10365
+ const id = `${ID_PREFIX.collection}${slug}`;
10366
+ const collection = {
10367
+ id,
10368
+ business_id: business.id,
10369
+ name: input.name,
10370
+ slug,
10371
+ description: input.description,
10372
+ product_ids: [],
10373
+ is_active: true,
10374
+ created_at: SEED_ISO,
10375
+ updated_at: SEED_ISO
10376
+ };
10377
+ registry.collections.put(id, collection);
10378
+ return collection;
10379
+ },
10380
+ product(input) {
10381
+ const business = requireBusiness();
10382
+ const slug = input.slug ?? slugify(input.name);
10383
+ const id = `${ID_PREFIX.product}${slug}`;
10384
+ const categoryId = resolveCategoryId(input.category);
10385
+ const collectionId = resolveCollectionId(input.collection);
10386
+ const product = {
10387
+ id,
10388
+ business_id: business.id,
10389
+ name: input.name,
10390
+ slug,
10391
+ description: input.description,
10392
+ product_type: input.productType ?? "product",
10393
+ base_price: input.price,
10394
+ currency: input.currency ?? business.default_currency,
10395
+ image: input.image,
10396
+ images: input.images ?? (input.image ? [input.image] : []),
10397
+ is_available: true,
10398
+ category_ids: categoryId ? [categoryId] : [],
10399
+ collection_ids: collectionId ? [collectionId] : [],
10400
+ add_on_ids: [],
10401
+ variant_ids: [],
10402
+ tags: input.tags ?? [],
10403
+ calories: input.calories,
10404
+ allergies: input.allergies ?? [],
10405
+ ingredients: input.ingredients ?? [],
10406
+ pairings: [],
10407
+ is_signature: input.isSignature ?? false,
10408
+ is_new: input.isNew ?? false,
10409
+ duration_minutes: input.durationMinutes,
10410
+ metadata: input.metadata,
10411
+ created_at: SEED_ISO,
10412
+ updated_at: SEED_ISO
10413
+ };
10414
+ registry.products.put(id, product);
10415
+ if (categoryId) {
10416
+ const cat = registry.categories.get(categoryId);
10417
+ if (cat && !cat.product_ids.includes(id)) cat.product_ids.push(id);
10418
+ }
10419
+ if (collectionId) {
10420
+ const col = registry.collections.get(collectionId);
10421
+ if (col && !col.product_ids.includes(id)) col.product_ids.push(id);
10422
+ }
10423
+ return product;
10424
+ },
10425
+ service(input) {
10426
+ const business = requireBusiness();
10427
+ const id = `${ID_PREFIX.service}${slugify(input.name)}`;
10428
+ const service = {
10429
+ id,
10430
+ business_id: business.id,
10431
+ name: input.name,
10432
+ description: input.description,
10433
+ duration_minutes: input.durationMinutes,
10434
+ price: input.price,
10435
+ is_available: true
10436
+ };
10437
+ registry.services.put(id, service);
10438
+ return service;
10439
+ },
10440
+ image: seedImage,
10441
+ extend(name) {
10442
+ const result = applySeed(registry, name);
10443
+ current = registry.businesses.get(result.businessId) ?? current;
10444
+ return result;
10445
+ }
10446
+ };
10447
+ }
10448
+
10449
+ // src/mock/seeds/source.ts
10450
+ var SNAPSHOT_META_KEY = "__meta";
10451
+ function loadSnapshot(registry, data, businessId) {
10452
+ applySnapshot(registry, data);
10453
+ if (businessId) return { businessId };
10454
+ const meta = data[SNAPSHOT_META_KEY];
10455
+ if (meta?.defaultBusinessId) return { businessId: meta.defaultBusinessId };
10456
+ const businesses = registry.businesses.list();
10457
+ if (businesses.length === 1) return { businessId: businesses[0].id };
10458
+ if (businesses.length === 0) {
10459
+ throw new Error("Seed snapshot has no business. Add one, or set __meta.defaultBusinessId.");
10460
+ }
10461
+ throw new Error(
10462
+ `Seed snapshot has ${businesses.length} businesses; set __meta.defaultBusinessId to pick one.`
10463
+ );
10464
+ }
10465
+ function resolveSeed(registry, source) {
10466
+ if (typeof source === "string") return applySeed(registry, source);
10467
+ switch (source.kind) {
10468
+ case "builtin":
10469
+ return applySeed(registry, source.name);
10470
+ case "json":
10471
+ return loadSnapshot(registry, source.data, source.businessId);
10472
+ case "fn":
10473
+ return source.seed(makeSeedContext(registry));
10474
+ }
10475
+ }
10476
+
10269
10477
  // src/mock/deps.ts
10270
10478
  function createDeps(options = {}) {
10271
10479
  const clock = createClock({ frozenAt: options.frozenAt });
10272
10480
  const ids = createIdGen(options.rngSeed);
10273
10481
  const bus = createBus({ idGen: () => ids.raw("evt"), clock: () => clock.now() });
10274
10482
  const registry = createStateRegistry();
10275
- const seedName = options.seed ?? "default";
10276
- const seedResult = applySeed(registry, seedName);
10277
- let defaultBusinessId = seedResult.businessId;
10483
+ const seedSource = options.seed ?? "default";
10484
+ let defaultBusinessId = resolveSeed(registry, seedSource).businessId;
10278
10485
  const auth = createAuthService({
10279
10486
  registry,
10280
10487
  clock,
@@ -10328,11 +10535,10 @@ function createDeps(options = {}) {
10328
10535
  return defaultBusinessId;
10329
10536
  },
10330
10537
  chaos,
10331
- resetAll(newSeed) {
10538
+ resetAll(next) {
10332
10539
  for (const store of Object.values(registry)) store.reset();
10333
10540
  bus.clear();
10334
- const r = applySeed(registry, newSeed ?? seedName);
10335
- defaultBusinessId = r.businessId;
10541
+ defaultBusinessId = resolveSeed(registry, next ?? seedSource).businessId;
10336
10542
  return defaultBusinessId;
10337
10543
  }
10338
10544
  };
package/dist/mock/msw.mjs CHANGED
@@ -5897,6 +5897,14 @@ function createLinkService({ clock, ids }) {
5897
5897
  };
5898
5898
  }
5899
5899
 
5900
+ // src/mock/state/snapshot.ts
5901
+ function applySnapshot(reg, data) {
5902
+ for (const [k, v] of Object.entries(data)) {
5903
+ const store = reg[k];
5904
+ if (store) store.loadJSON(v);
5905
+ }
5906
+ }
5907
+
5900
5908
  // src/mock/seeds/image.ts
5901
5909
  var CDN_BASE_URL = "https://static-tmp.cimplify.io";
5902
5910
  function seedImage(industry, slug) {
@@ -10264,15 +10272,214 @@ function applySeed(registry, name) {
10264
10272
  return fn(registry);
10265
10273
  }
10266
10274
 
10275
+ // src/mock/seeds/context.ts
10276
+ var SEED_ISO = "2026-01-01T00:00:00.000Z";
10277
+ var ID_PREFIX = {
10278
+ business: "bus_",
10279
+ category: "cat_",
10280
+ collection: "col_",
10281
+ product: "prod_",
10282
+ service: "svc_"
10283
+ };
10284
+ var DEFAULT_CURRENCY = "GHS";
10285
+ function slugify(value) {
10286
+ return value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
10287
+ }
10288
+ function makeSeedContext(registry) {
10289
+ let current;
10290
+ const requireBusiness = () => {
10291
+ if (current) return current;
10292
+ const sole = registry.businesses.list();
10293
+ if (sole.length === 1) {
10294
+ current = sole[0];
10295
+ return current;
10296
+ }
10297
+ throw new Error("Seed must create a business (ctx.business) before adding child records.");
10298
+ };
10299
+ const resolveCategoryId = (cat) => {
10300
+ if (!cat) return void 0;
10301
+ if (typeof cat !== "string") return cat.id;
10302
+ if (registry.categories.get(cat)) return cat;
10303
+ return registry.categories.list().find((c) => c.slug === cat)?.id;
10304
+ };
10305
+ const resolveCollectionId = (col) => {
10306
+ if (!col) return void 0;
10307
+ if (typeof col !== "string") return col.id;
10308
+ if (registry.collections.get(col)) return col;
10309
+ return registry.collections.list().find((c) => c.slug === col)?.id;
10310
+ };
10311
+ return {
10312
+ registry,
10313
+ business(input) {
10314
+ const handle = input.handle ?? slugify(input.name);
10315
+ const id = `${ID_PREFIX.business}${slugify(handle)}`;
10316
+ const business = {
10317
+ business_type: "other",
10318
+ email: `hello@${handle}.test`,
10319
+ default_currency: DEFAULT_CURRENCY,
10320
+ default_offers_table_service: false,
10321
+ default_accepts_online_orders: true,
10322
+ status: "active",
10323
+ created_by: "seed",
10324
+ preferences: {},
10325
+ is_online_only: true,
10326
+ enabled_payment_types: ["mobile_money"],
10327
+ default_location_settings: {},
10328
+ country_code: "GH",
10329
+ timezone: "Africa/Accra",
10330
+ ...input,
10331
+ id,
10332
+ handle,
10333
+ created_at: input.created_at ?? SEED_ISO,
10334
+ updated_at: input.updated_at ?? SEED_ISO
10335
+ };
10336
+ registry.businesses.put(id, business);
10337
+ current = business;
10338
+ return business;
10339
+ },
10340
+ category(input) {
10341
+ const business = requireBusiness();
10342
+ const slug = input.slug ?? slugify(input.name);
10343
+ const id = `${ID_PREFIX.category}${slug}`;
10344
+ const category = {
10345
+ id,
10346
+ business_id: business.id,
10347
+ name: input.name,
10348
+ slug,
10349
+ description: input.description,
10350
+ image: input.image,
10351
+ product_ids: [],
10352
+ display_order: input.displayOrder ?? 0,
10353
+ is_active: true,
10354
+ created_at: SEED_ISO,
10355
+ updated_at: SEED_ISO
10356
+ };
10357
+ registry.categories.put(id, category);
10358
+ return category;
10359
+ },
10360
+ collection(input) {
10361
+ const business = requireBusiness();
10362
+ const slug = input.slug ?? slugify(input.name);
10363
+ const id = `${ID_PREFIX.collection}${slug}`;
10364
+ const collection = {
10365
+ id,
10366
+ business_id: business.id,
10367
+ name: input.name,
10368
+ slug,
10369
+ description: input.description,
10370
+ product_ids: [],
10371
+ is_active: true,
10372
+ created_at: SEED_ISO,
10373
+ updated_at: SEED_ISO
10374
+ };
10375
+ registry.collections.put(id, collection);
10376
+ return collection;
10377
+ },
10378
+ product(input) {
10379
+ const business = requireBusiness();
10380
+ const slug = input.slug ?? slugify(input.name);
10381
+ const id = `${ID_PREFIX.product}${slug}`;
10382
+ const categoryId = resolveCategoryId(input.category);
10383
+ const collectionId = resolveCollectionId(input.collection);
10384
+ const product = {
10385
+ id,
10386
+ business_id: business.id,
10387
+ name: input.name,
10388
+ slug,
10389
+ description: input.description,
10390
+ product_type: input.productType ?? "product",
10391
+ base_price: input.price,
10392
+ currency: input.currency ?? business.default_currency,
10393
+ image: input.image,
10394
+ images: input.images ?? (input.image ? [input.image] : []),
10395
+ is_available: true,
10396
+ category_ids: categoryId ? [categoryId] : [],
10397
+ collection_ids: collectionId ? [collectionId] : [],
10398
+ add_on_ids: [],
10399
+ variant_ids: [],
10400
+ tags: input.tags ?? [],
10401
+ calories: input.calories,
10402
+ allergies: input.allergies ?? [],
10403
+ ingredients: input.ingredients ?? [],
10404
+ pairings: [],
10405
+ is_signature: input.isSignature ?? false,
10406
+ is_new: input.isNew ?? false,
10407
+ duration_minutes: input.durationMinutes,
10408
+ metadata: input.metadata,
10409
+ created_at: SEED_ISO,
10410
+ updated_at: SEED_ISO
10411
+ };
10412
+ registry.products.put(id, product);
10413
+ if (categoryId) {
10414
+ const cat = registry.categories.get(categoryId);
10415
+ if (cat && !cat.product_ids.includes(id)) cat.product_ids.push(id);
10416
+ }
10417
+ if (collectionId) {
10418
+ const col = registry.collections.get(collectionId);
10419
+ if (col && !col.product_ids.includes(id)) col.product_ids.push(id);
10420
+ }
10421
+ return product;
10422
+ },
10423
+ service(input) {
10424
+ const business = requireBusiness();
10425
+ const id = `${ID_PREFIX.service}${slugify(input.name)}`;
10426
+ const service = {
10427
+ id,
10428
+ business_id: business.id,
10429
+ name: input.name,
10430
+ description: input.description,
10431
+ duration_minutes: input.durationMinutes,
10432
+ price: input.price,
10433
+ is_available: true
10434
+ };
10435
+ registry.services.put(id, service);
10436
+ return service;
10437
+ },
10438
+ image: seedImage,
10439
+ extend(name) {
10440
+ const result = applySeed(registry, name);
10441
+ current = registry.businesses.get(result.businessId) ?? current;
10442
+ return result;
10443
+ }
10444
+ };
10445
+ }
10446
+
10447
+ // src/mock/seeds/source.ts
10448
+ var SNAPSHOT_META_KEY = "__meta";
10449
+ function loadSnapshot(registry, data, businessId) {
10450
+ applySnapshot(registry, data);
10451
+ if (businessId) return { businessId };
10452
+ const meta = data[SNAPSHOT_META_KEY];
10453
+ if (meta?.defaultBusinessId) return { businessId: meta.defaultBusinessId };
10454
+ const businesses = registry.businesses.list();
10455
+ if (businesses.length === 1) return { businessId: businesses[0].id };
10456
+ if (businesses.length === 0) {
10457
+ throw new Error("Seed snapshot has no business. Add one, or set __meta.defaultBusinessId.");
10458
+ }
10459
+ throw new Error(
10460
+ `Seed snapshot has ${businesses.length} businesses; set __meta.defaultBusinessId to pick one.`
10461
+ );
10462
+ }
10463
+ function resolveSeed(registry, source) {
10464
+ if (typeof source === "string") return applySeed(registry, source);
10465
+ switch (source.kind) {
10466
+ case "builtin":
10467
+ return applySeed(registry, source.name);
10468
+ case "json":
10469
+ return loadSnapshot(registry, source.data, source.businessId);
10470
+ case "fn":
10471
+ return source.seed(makeSeedContext(registry));
10472
+ }
10473
+ }
10474
+
10267
10475
  // src/mock/deps.ts
10268
10476
  function createDeps(options = {}) {
10269
10477
  const clock = createClock({ frozenAt: options.frozenAt });
10270
10478
  const ids = createIdGen(options.rngSeed);
10271
10479
  const bus = createBus({ idGen: () => ids.raw("evt"), clock: () => clock.now() });
10272
10480
  const registry = createStateRegistry();
10273
- const seedName = options.seed ?? "default";
10274
- const seedResult = applySeed(registry, seedName);
10275
- let defaultBusinessId = seedResult.businessId;
10481
+ const seedSource = options.seed ?? "default";
10482
+ let defaultBusinessId = resolveSeed(registry, seedSource).businessId;
10276
10483
  const auth = createAuthService({
10277
10484
  registry,
10278
10485
  clock,
@@ -10326,11 +10533,10 @@ function createDeps(options = {}) {
10326
10533
  return defaultBusinessId;
10327
10534
  },
10328
10535
  chaos,
10329
- resetAll(newSeed) {
10536
+ resetAll(next) {
10330
10537
  for (const store of Object.values(registry)) store.reset();
10331
10538
  bus.clear();
10332
- const r = applySeed(registry, newSeed ?? seedName);
10333
- defaultBusinessId = r.businessId;
10539
+ defaultBusinessId = resolveSeed(registry, next ?? seedSource).businessId;
10334
10540
  return defaultBusinessId;
10335
10541
  }
10336
10542
  };
@@ -1,4 +1,4 @@
1
- import { aM as Money, ab as CurrencyCode } from './product-DXhjLQ_w.js';
1
+ import { aM as Money, ab as CurrencyCode } from './product-2MAoE0kZ.js';
2
2
 
3
3
  type PaymentStatus = "initialized" | "pending" | "processing" | "authorized" | "captured" | "failed" | "cancelled" | "refunded" | "unknown" | "voided" | "requires_action" | "abandoned" | "reversed" | "disputed" | "refund_pending";
4
4
  type PaymentProvider = "stripe" | "paystack" | "cellulant" | "mtnmomo" | "offline" | "mtn" | "vodafone" | "airtel" | "cash" | "manual";
@@ -1,4 +1,4 @@
1
- import { aM as Money, ab as CurrencyCode } from './product-DXhjLQ_w.mjs';
1
+ import { aM as Money, ab as CurrencyCode } from './product-2MAoE0kZ.mjs';
2
2
 
3
3
  type PaymentStatus = "initialized" | "pending" | "processing" | "authorized" | "captured" | "failed" | "cancelled" | "refunded" | "unknown" | "voided" | "requires_action" | "abandoned" | "reversed" | "disputed" | "refund_pending";
4
4
  type PaymentProvider = "stripe" | "paystack" | "cellulant" | "mtnmomo" | "offline" | "mtn" | "vodafone" | "airtel" | "cash" | "manual";
@@ -1,4 +1,4 @@
1
- import { ab as CurrencyCode, S as ChosenPrice } from './product-DXhjLQ_w.js';
1
+ import { ab as CurrencyCode, S as ChosenPrice, bg as SaleInfo } from './product-2MAoE0kZ.js';
2
2
 
3
3
  interface ProductWithPrice {
4
4
  price_info?: ChosenPrice;
@@ -6,6 +6,8 @@ interface ProductWithPrice {
6
6
  base_price?: number | string | null;
7
7
  default_price?: number | string | null;
8
8
  currency?: CurrencyCode | null;
9
+ /** Sales-engine overlay from the pricing API, when the product is on sale. */
10
+ sale?: SaleInfo | null;
9
11
  }
10
12
  interface FormatPriceOptions {
11
13
  currency?: CurrencyCode;
@@ -1,4 +1,4 @@
1
- import { ab as CurrencyCode, S as ChosenPrice } from './product-DXhjLQ_w.mjs';
1
+ import { ab as CurrencyCode, S as ChosenPrice, bg as SaleInfo } from './product-2MAoE0kZ.mjs';
2
2
 
3
3
  interface ProductWithPrice {
4
4
  price_info?: ChosenPrice;
@@ -6,6 +6,8 @@ interface ProductWithPrice {
6
6
  base_price?: number | string | null;
7
7
  default_price?: number | string | null;
8
8
  currency?: CurrencyCode | null;
9
+ /** Sales-engine overlay from the pricing API, when the product is on sale. */
10
+ sale?: SaleInfo | null;
9
11
  }
10
12
  interface FormatPriceOptions {
11
13
  currency?: CurrencyCode;
@@ -699,6 +699,29 @@ interface SubscriptionWithDetails {
699
699
  latest_invoice?: SubscriptionInvoice;
700
700
  }
701
701
 
702
+ /** Live claim progress for a capped sale ("73 of 100 claimed"). */
703
+ interface SaleCapInfo {
704
+ claimed: number;
705
+ of: number;
706
+ }
707
+ /**
708
+ * The sales-engine overlay applied to a price, as surfaced by the pricing API
709
+ * (`PriceResponse.sale`). Drives the storefront strikethrough, "% OFF" badge,
710
+ * countdown, and claim counter. Money fields arrive as strings.
711
+ */
712
+ interface SaleInfo {
713
+ sale_id: string;
714
+ /** The pre-sale price (struck through). */
715
+ original: string | number;
716
+ /** The price the shopper pays under the sale. */
717
+ price: string | number;
718
+ percent_off: string | number;
719
+ /** ISO timestamp the sale window closes — drives the countdown. */
720
+ ends_at: string;
721
+ badge_text?: string | null;
722
+ cap?: SaleCapInfo | null;
723
+ }
724
+
702
725
  type ProductType = "product" | "service" | "digital" | "bundle" | "composite";
703
726
  declare const PRODUCT_TYPE: {
704
727
  Product: "product";
@@ -831,6 +854,8 @@ interface Product {
831
854
  description?: string;
832
855
  image_url?: string;
833
856
  default_price: Money;
857
+ /** Sales-engine overlay from the pricing API, when the product is on sale. */
858
+ sale?: SaleInfo | null;
834
859
  type: ProductType;
835
860
  render_hint?: ProductRenderHint;
836
861
  display_mode?: DisplayMode;
@@ -1542,4 +1567,4 @@ interface TagsResponse {
1542
1567
  offset: number;
1543
1568
  }
1544
1569
 
1545
- export { type ComponentSelectionInput as $, type AddOn as A, type BenefitType as B, type BundleSelectionInput as C, type BundleStoredSelection as D, type BundleSummary as E, type BundleWithDetails as F, type Cart as G, type CartAddOn as H, type CartChannel as I, type CartItem as J, type CartItemDetails as K, type CartMutationResult as L, type CartNotice as M, type CartStatus as N, type CartSummary as O, type CartTotals as P, type Category as Q, type CategorySummary as R, type ChosenPrice as S, CimplifyError as T, type Collection as U, type CollectionProduct as V, type CollectionSummary as W, type ComponentGroup as X, type ComponentGroupWithComponents as Y, type ComponentPriceBreakdown as Z, type ComponentSchedulingData as _, type AddOnDetails as a, type ProductBillingPlan as a$, type ComponentSourceType as a0, type Composite as a1, type CompositeComponent as a2, type CompositeComponentView as a3, type CompositeGroupView as a4, type CompositePriceBreakdown as a5, type CompositePriceResult as a6, type CompositePricingMode as a7, type CompositeSelectionData as a8, type CompositeStoredSelection as a9, type FormattedPlanOption as aA, type GroupPricingBehavior as aB, INPUT_FIELD_TYPE as aC, IdempotencyMismatchError as aD, type InputFieldType as aE, type InputFieldValidation as aF, type InventoryType as aG, type KnowledgeArticle as aH, type LineConfiguration as aI, type LocationProductPrice as aJ, type LocationValue as aK, type MeasurementValue as aL, type Money as aM, PRODUCT_TYPE as aN, type Pagination as aO, type PaginationParams as aP, type PhoneValue as aQ, type Price as aR, type PriceAdjustment as aS, type PriceDecisionPath as aT, type PriceEntryType as aU, type PricePathTaxInfo as aV, type PriceSource as aW, type Product as aX, type ProductAddOn as aY, type ProductAvailability as aZ, type ProductAvailabilityNow as a_, type CompositeWithDetails as aa, type CurrencyCode as ab, type CustomAttributeDefinition as ac, type CustomAttributeValue as ad, type CustomerInputValue as ae, DURATION_UNIT as af, type DateRangeValue as ag, type Deal as ah, type DealBenefitType as ai, type DepositType as aj, type DigitalProductType as ak, type DiscountBreakdown as al, type DiscountDetails as am, type DiscountValidation as an, type DisplayAddOn as ao, type DisplayAddOnOption as ap, type DisplayCart as aq, type DisplayCartItem as ar, type DisplayMode as as, type DurationUnit as at, ERROR_HINTS as au, type EligiblePlansQuery as av, ErrorCode as aw, type ErrorCodeType as ax, type ErrorHint as ay, type FacetValue as az, type AddOnGroupDetails as b, type ProductDealInfo as b0, type ProductInputField as b1, type ProductProperty as b2, type ProductRenderHint as b3, type ProductTaxonomy as b4, type ProductTimeProfile as b5, type ProductType as b6, type ProductVariant as b7, type ProductVariantValue as b8, type ProductWithDetails as b9, type VariantAxis as bA, type VariantAxisSelection as bB, type VariantAxisValue as bC, type VariantAxisValueView as bD, type VariantAxisView as bE, type VariantAxisWithValues as bF, type VariantDetails as bG, type VariantDetailsDTO as bH, type VariantDisplayAttribute as bI, type VariantLocationAvailability as bJ, type VariantStrategy as bK, type VariantView as bL, ZERO as bM, currencyCode as bN, enrichError as bO, getErrorHint as bP, isCimplifyError as bQ, isIdempotencyMismatchError as bR, isQuoteConflictRequiringConsent as bS, isQuoteError as bT, isRetryableError as bU, isSupportedCurrency as bV, money as bW, moneyFromNumber as bX, type PropertyFacet as ba, type PropertySource as bb, type QuantityPricingTier as bc, RENDER_HINT as bd, type RelatedProductView as be, type SalesChannel as bf, type SchedulingMode as bg, type SelectedAddOnOption as bh, type SemanticKind as bi, type SignatureValue as bj, type Subscription as bk, type SubscriptionInvoice as bl, type SubscriptionItem as bm, type SubscriptionStatus as bn, type SubscriptionWithDetails as bo, type Tag as bp, type TagsResponse as bq, type TaxPathComponent as br, type TaxonomyAttributeTemplate as bs, type TaxonomyWithChildren as bt, type UICart as bu, type UICartBusiness as bv, type UICartCustomer as bw, type UICartLocation as bx, type UICartPricing as by, type UpdateCartItemInput as bz, type AddOnOption as c, type AddOnOptionDetails as d, type AddOnOptionPrice as e, type AddOnWithOptions as f, type AddToCartInput as g, type AddressValue as h, type AdjustmentType as i, type ApiError as j, type AppliedDiscount as k, type AttributeAppliesTo as l, type AttributeType as m, type AttributeValidationRules as n, type AttributeVisibility as o, type BillingFrequency as p, type BillingMarkupType as q, type BillingPlanType as r, type Bundle as s, type BundleComponentData as t, type BundleComponentInfo as u, type BundleComponentVariantView as v, type BundleComponentView as w, type BundlePriceType as x, type BundleProduct as y, type BundleSelectionData as z };
1570
+ export { type ComponentSelectionInput as $, type AddOn as A, type BenefitType as B, type BundleSelectionInput as C, type BundleStoredSelection as D, type BundleSummary as E, type BundleWithDetails as F, type Cart as G, type CartAddOn as H, type CartChannel as I, type CartItem as J, type CartItemDetails as K, type CartMutationResult as L, type CartNotice as M, type CartStatus as N, type CartSummary as O, type CartTotals as P, type Category as Q, type CategorySummary as R, type ChosenPrice as S, CimplifyError as T, type Collection as U, type CollectionProduct as V, type CollectionSummary as W, type ComponentGroup as X, type ComponentGroupWithComponents as Y, type ComponentPriceBreakdown as Z, type ComponentSchedulingData as _, type AddOnDetails as a, type ProductBillingPlan as a$, type ComponentSourceType as a0, type Composite as a1, type CompositeComponent as a2, type CompositeComponentView as a3, type CompositeGroupView as a4, type CompositePriceBreakdown as a5, type CompositePriceResult as a6, type CompositePricingMode as a7, type CompositeSelectionData as a8, type CompositeStoredSelection as a9, type FormattedPlanOption as aA, type GroupPricingBehavior as aB, INPUT_FIELD_TYPE as aC, IdempotencyMismatchError as aD, type InputFieldType as aE, type InputFieldValidation as aF, type InventoryType as aG, type KnowledgeArticle as aH, type LineConfiguration as aI, type LocationProductPrice as aJ, type LocationValue as aK, type MeasurementValue as aL, type Money as aM, PRODUCT_TYPE as aN, type Pagination as aO, type PaginationParams as aP, type PhoneValue as aQ, type Price as aR, type PriceAdjustment as aS, type PriceDecisionPath as aT, type PriceEntryType as aU, type PricePathTaxInfo as aV, type PriceSource as aW, type Product as aX, type ProductAddOn as aY, type ProductAvailability as aZ, type ProductAvailabilityNow as a_, type CompositeWithDetails as aa, type CurrencyCode as ab, type CustomAttributeDefinition as ac, type CustomAttributeValue as ad, type CustomerInputValue as ae, DURATION_UNIT as af, type DateRangeValue as ag, type Deal as ah, type DealBenefitType as ai, type DepositType as aj, type DigitalProductType as ak, type DiscountBreakdown as al, type DiscountDetails as am, type DiscountValidation as an, type DisplayAddOn as ao, type DisplayAddOnOption as ap, type DisplayCart as aq, type DisplayCartItem as ar, type DisplayMode as as, type DurationUnit as at, ERROR_HINTS as au, type EligiblePlansQuery as av, ErrorCode as aw, type ErrorCodeType as ax, type ErrorHint as ay, type FacetValue as az, type AddOnGroupDetails as b, type ProductDealInfo as b0, type ProductInputField as b1, type ProductProperty as b2, type ProductRenderHint as b3, type ProductTaxonomy as b4, type ProductTimeProfile as b5, type ProductType as b6, type ProductVariant as b7, type ProductVariantValue as b8, type ProductWithDetails as b9, type UICartPricing as bA, type UpdateCartItemInput as bB, type VariantAxis as bC, type VariantAxisSelection as bD, type VariantAxisValue as bE, type VariantAxisValueView as bF, type VariantAxisView as bG, type VariantAxisWithValues as bH, type VariantDetails as bI, type VariantDetailsDTO as bJ, type VariantDisplayAttribute as bK, type VariantLocationAvailability as bL, type VariantStrategy as bM, type VariantView as bN, ZERO as bO, currencyCode as bP, enrichError as bQ, getErrorHint as bR, isCimplifyError as bS, isIdempotencyMismatchError as bT, isQuoteConflictRequiringConsent as bU, isQuoteError as bV, isRetryableError as bW, isSupportedCurrency as bX, money as bY, moneyFromNumber as bZ, type PropertyFacet as ba, type PropertySource as bb, type QuantityPricingTier as bc, RENDER_HINT as bd, type RelatedProductView as be, type SaleCapInfo as bf, type SaleInfo as bg, type SalesChannel as bh, type SchedulingMode as bi, type SelectedAddOnOption as bj, type SemanticKind as bk, type SignatureValue as bl, type Subscription as bm, type SubscriptionInvoice as bn, type SubscriptionItem as bo, type SubscriptionStatus as bp, type SubscriptionWithDetails as bq, type Tag as br, type TagsResponse as bs, type TaxPathComponent as bt, type TaxonomyAttributeTemplate as bu, type TaxonomyWithChildren as bv, type UICart as bw, type UICartBusiness as bx, type UICartCustomer as by, type UICartLocation as bz, type AddOnOption as c, type AddOnOptionDetails as d, type AddOnOptionPrice as e, type AddOnWithOptions as f, type AddToCartInput as g, type AddressValue as h, type AdjustmentType as i, type ApiError as j, type AppliedDiscount as k, type AttributeAppliesTo as l, type AttributeType as m, type AttributeValidationRules as n, type AttributeVisibility as o, type BillingFrequency as p, type BillingMarkupType as q, type BillingPlanType as r, type Bundle as s, type BundleComponentData as t, type BundleComponentInfo as u, type BundleComponentVariantView as v, type BundleComponentView as w, type BundlePriceType as x, type BundleProduct as y, type BundleSelectionData as z };
@@ -699,6 +699,29 @@ interface SubscriptionWithDetails {
699
699
  latest_invoice?: SubscriptionInvoice;
700
700
  }
701
701
 
702
+ /** Live claim progress for a capped sale ("73 of 100 claimed"). */
703
+ interface SaleCapInfo {
704
+ claimed: number;
705
+ of: number;
706
+ }
707
+ /**
708
+ * The sales-engine overlay applied to a price, as surfaced by the pricing API
709
+ * (`PriceResponse.sale`). Drives the storefront strikethrough, "% OFF" badge,
710
+ * countdown, and claim counter. Money fields arrive as strings.
711
+ */
712
+ interface SaleInfo {
713
+ sale_id: string;
714
+ /** The pre-sale price (struck through). */
715
+ original: string | number;
716
+ /** The price the shopper pays under the sale. */
717
+ price: string | number;
718
+ percent_off: string | number;
719
+ /** ISO timestamp the sale window closes — drives the countdown. */
720
+ ends_at: string;
721
+ badge_text?: string | null;
722
+ cap?: SaleCapInfo | null;
723
+ }
724
+
702
725
  type ProductType = "product" | "service" | "digital" | "bundle" | "composite";
703
726
  declare const PRODUCT_TYPE: {
704
727
  Product: "product";
@@ -831,6 +854,8 @@ interface Product {
831
854
  description?: string;
832
855
  image_url?: string;
833
856
  default_price: Money;
857
+ /** Sales-engine overlay from the pricing API, when the product is on sale. */
858
+ sale?: SaleInfo | null;
834
859
  type: ProductType;
835
860
  render_hint?: ProductRenderHint;
836
861
  display_mode?: DisplayMode;
@@ -1542,4 +1567,4 @@ interface TagsResponse {
1542
1567
  offset: number;
1543
1568
  }
1544
1569
 
1545
- export { type ComponentSelectionInput as $, type AddOn as A, type BenefitType as B, type BundleSelectionInput as C, type BundleStoredSelection as D, type BundleSummary as E, type BundleWithDetails as F, type Cart as G, type CartAddOn as H, type CartChannel as I, type CartItem as J, type CartItemDetails as K, type CartMutationResult as L, type CartNotice as M, type CartStatus as N, type CartSummary as O, type CartTotals as P, type Category as Q, type CategorySummary as R, type ChosenPrice as S, CimplifyError as T, type Collection as U, type CollectionProduct as V, type CollectionSummary as W, type ComponentGroup as X, type ComponentGroupWithComponents as Y, type ComponentPriceBreakdown as Z, type ComponentSchedulingData as _, type AddOnDetails as a, type ProductBillingPlan as a$, type ComponentSourceType as a0, type Composite as a1, type CompositeComponent as a2, type CompositeComponentView as a3, type CompositeGroupView as a4, type CompositePriceBreakdown as a5, type CompositePriceResult as a6, type CompositePricingMode as a7, type CompositeSelectionData as a8, type CompositeStoredSelection as a9, type FormattedPlanOption as aA, type GroupPricingBehavior as aB, INPUT_FIELD_TYPE as aC, IdempotencyMismatchError as aD, type InputFieldType as aE, type InputFieldValidation as aF, type InventoryType as aG, type KnowledgeArticle as aH, type LineConfiguration as aI, type LocationProductPrice as aJ, type LocationValue as aK, type MeasurementValue as aL, type Money as aM, PRODUCT_TYPE as aN, type Pagination as aO, type PaginationParams as aP, type PhoneValue as aQ, type Price as aR, type PriceAdjustment as aS, type PriceDecisionPath as aT, type PriceEntryType as aU, type PricePathTaxInfo as aV, type PriceSource as aW, type Product as aX, type ProductAddOn as aY, type ProductAvailability as aZ, type ProductAvailabilityNow as a_, type CompositeWithDetails as aa, type CurrencyCode as ab, type CustomAttributeDefinition as ac, type CustomAttributeValue as ad, type CustomerInputValue as ae, DURATION_UNIT as af, type DateRangeValue as ag, type Deal as ah, type DealBenefitType as ai, type DepositType as aj, type DigitalProductType as ak, type DiscountBreakdown as al, type DiscountDetails as am, type DiscountValidation as an, type DisplayAddOn as ao, type DisplayAddOnOption as ap, type DisplayCart as aq, type DisplayCartItem as ar, type DisplayMode as as, type DurationUnit as at, ERROR_HINTS as au, type EligiblePlansQuery as av, ErrorCode as aw, type ErrorCodeType as ax, type ErrorHint as ay, type FacetValue as az, type AddOnGroupDetails as b, type ProductDealInfo as b0, type ProductInputField as b1, type ProductProperty as b2, type ProductRenderHint as b3, type ProductTaxonomy as b4, type ProductTimeProfile as b5, type ProductType as b6, type ProductVariant as b7, type ProductVariantValue as b8, type ProductWithDetails as b9, type VariantAxis as bA, type VariantAxisSelection as bB, type VariantAxisValue as bC, type VariantAxisValueView as bD, type VariantAxisView as bE, type VariantAxisWithValues as bF, type VariantDetails as bG, type VariantDetailsDTO as bH, type VariantDisplayAttribute as bI, type VariantLocationAvailability as bJ, type VariantStrategy as bK, type VariantView as bL, ZERO as bM, currencyCode as bN, enrichError as bO, getErrorHint as bP, isCimplifyError as bQ, isIdempotencyMismatchError as bR, isQuoteConflictRequiringConsent as bS, isQuoteError as bT, isRetryableError as bU, isSupportedCurrency as bV, money as bW, moneyFromNumber as bX, type PropertyFacet as ba, type PropertySource as bb, type QuantityPricingTier as bc, RENDER_HINT as bd, type RelatedProductView as be, type SalesChannel as bf, type SchedulingMode as bg, type SelectedAddOnOption as bh, type SemanticKind as bi, type SignatureValue as bj, type Subscription as bk, type SubscriptionInvoice as bl, type SubscriptionItem as bm, type SubscriptionStatus as bn, type SubscriptionWithDetails as bo, type Tag as bp, type TagsResponse as bq, type TaxPathComponent as br, type TaxonomyAttributeTemplate as bs, type TaxonomyWithChildren as bt, type UICart as bu, type UICartBusiness as bv, type UICartCustomer as bw, type UICartLocation as bx, type UICartPricing as by, type UpdateCartItemInput as bz, type AddOnOption as c, type AddOnOptionDetails as d, type AddOnOptionPrice as e, type AddOnWithOptions as f, type AddToCartInput as g, type AddressValue as h, type AdjustmentType as i, type ApiError as j, type AppliedDiscount as k, type AttributeAppliesTo as l, type AttributeType as m, type AttributeValidationRules as n, type AttributeVisibility as o, type BillingFrequency as p, type BillingMarkupType as q, type BillingPlanType as r, type Bundle as s, type BundleComponentData as t, type BundleComponentInfo as u, type BundleComponentVariantView as v, type BundleComponentView as w, type BundlePriceType as x, type BundleProduct as y, type BundleSelectionData as z };
1570
+ export { type ComponentSelectionInput as $, type AddOn as A, type BenefitType as B, type BundleSelectionInput as C, type BundleStoredSelection as D, type BundleSummary as E, type BundleWithDetails as F, type Cart as G, type CartAddOn as H, type CartChannel as I, type CartItem as J, type CartItemDetails as K, type CartMutationResult as L, type CartNotice as M, type CartStatus as N, type CartSummary as O, type CartTotals as P, type Category as Q, type CategorySummary as R, type ChosenPrice as S, CimplifyError as T, type Collection as U, type CollectionProduct as V, type CollectionSummary as W, type ComponentGroup as X, type ComponentGroupWithComponents as Y, type ComponentPriceBreakdown as Z, type ComponentSchedulingData as _, type AddOnDetails as a, type ProductBillingPlan as a$, type ComponentSourceType as a0, type Composite as a1, type CompositeComponent as a2, type CompositeComponentView as a3, type CompositeGroupView as a4, type CompositePriceBreakdown as a5, type CompositePriceResult as a6, type CompositePricingMode as a7, type CompositeSelectionData as a8, type CompositeStoredSelection as a9, type FormattedPlanOption as aA, type GroupPricingBehavior as aB, INPUT_FIELD_TYPE as aC, IdempotencyMismatchError as aD, type InputFieldType as aE, type InputFieldValidation as aF, type InventoryType as aG, type KnowledgeArticle as aH, type LineConfiguration as aI, type LocationProductPrice as aJ, type LocationValue as aK, type MeasurementValue as aL, type Money as aM, PRODUCT_TYPE as aN, type Pagination as aO, type PaginationParams as aP, type PhoneValue as aQ, type Price as aR, type PriceAdjustment as aS, type PriceDecisionPath as aT, type PriceEntryType as aU, type PricePathTaxInfo as aV, type PriceSource as aW, type Product as aX, type ProductAddOn as aY, type ProductAvailability as aZ, type ProductAvailabilityNow as a_, type CompositeWithDetails as aa, type CurrencyCode as ab, type CustomAttributeDefinition as ac, type CustomAttributeValue as ad, type CustomerInputValue as ae, DURATION_UNIT as af, type DateRangeValue as ag, type Deal as ah, type DealBenefitType as ai, type DepositType as aj, type DigitalProductType as ak, type DiscountBreakdown as al, type DiscountDetails as am, type DiscountValidation as an, type DisplayAddOn as ao, type DisplayAddOnOption as ap, type DisplayCart as aq, type DisplayCartItem as ar, type DisplayMode as as, type DurationUnit as at, ERROR_HINTS as au, type EligiblePlansQuery as av, ErrorCode as aw, type ErrorCodeType as ax, type ErrorHint as ay, type FacetValue as az, type AddOnGroupDetails as b, type ProductDealInfo as b0, type ProductInputField as b1, type ProductProperty as b2, type ProductRenderHint as b3, type ProductTaxonomy as b4, type ProductTimeProfile as b5, type ProductType as b6, type ProductVariant as b7, type ProductVariantValue as b8, type ProductWithDetails as b9, type UICartPricing as bA, type UpdateCartItemInput as bB, type VariantAxis as bC, type VariantAxisSelection as bD, type VariantAxisValue as bE, type VariantAxisValueView as bF, type VariantAxisView as bG, type VariantAxisWithValues as bH, type VariantDetails as bI, type VariantDetailsDTO as bJ, type VariantDisplayAttribute as bK, type VariantLocationAvailability as bL, type VariantStrategy as bM, type VariantView as bN, ZERO as bO, currencyCode as bP, enrichError as bQ, getErrorHint as bR, isCimplifyError as bS, isIdempotencyMismatchError as bT, isQuoteConflictRequiringConsent as bU, isQuoteError as bV, isRetryableError as bW, isSupportedCurrency as bX, money as bY, moneyFromNumber as bZ, type PropertyFacet as ba, type PropertySource as bb, type QuantityPricingTier as bc, RENDER_HINT as bd, type RelatedProductView as be, type SaleCapInfo as bf, type SaleInfo as bg, type SalesChannel as bh, type SchedulingMode as bi, type SelectedAddOnOption as bj, type SemanticKind as bk, type SignatureValue as bl, type Subscription as bm, type SubscriptionInvoice as bn, type SubscriptionItem as bo, type SubscriptionStatus as bp, type SubscriptionWithDetails as bq, type Tag as br, type TagsResponse as bs, type TaxPathComponent as bt, type TaxonomyAttributeTemplate as bu, type TaxonomyWithChildren as bv, type UICart as bw, type UICartBusiness as bx, type UICartCustomer as by, type UICartLocation as bz, type AddOnOption as c, type AddOnOptionDetails as d, type AddOnOptionPrice as e, type AddOnWithOptions as f, type AddToCartInput as g, type AddressValue as h, type AdjustmentType as i, type ApiError as j, type AppliedDiscount as k, type AttributeAppliesTo as l, type AttributeType as m, type AttributeValidationRules as n, type AttributeVisibility as o, type BillingFrequency as p, type BillingMarkupType as q, type BillingPlanType as r, type Bundle as s, type BundleComponentData as t, type BundleComponentInfo as u, type BundleComponentVariantView as v, type BundleComponentView as w, type BundlePriceType as x, type BundleProduct as y, type BundleSelectionData as z };