@cimplify/sdk 0.44.8 → 0.44.10
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/mock/cli.mjs +100 -5
- package/dist/mock/library.d.mts +2 -2
- package/dist/mock/library.d.ts +2 -2
- package/dist/mock/library.js +100 -5
- package/dist/mock/library.mjs +100 -5
- package/dist/mock/msw.d.mts +1 -1
- package/dist/mock/msw.d.ts +1 -1
- package/dist/mock/msw.js +100 -5
- package/dist/mock/msw.mjs +100 -5
- package/dist/react.d.mts +8 -4
- package/dist/react.d.ts +8 -4
- package/dist/react.js +327 -181
- package/dist/react.mjs +327 -181
- package/dist/{server-DD-Cd1Ob.d.mts → server-CUbuQxOV.d.mts} +32 -0
- package/dist/{server-DD-Cd1Ob.d.ts → server-CUbuQxOV.d.ts} +32 -0
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/registry/cart-summary.json +1 -1
package/dist/mock/msw.js
CHANGED
|
@@ -3515,6 +3515,26 @@ function defaultPriceInfo(price, currency) {
|
|
|
3515
3515
|
}
|
|
3516
3516
|
|
|
3517
3517
|
// src/mock/domain/catalogue/product-shape.ts
|
|
3518
|
+
function withDisplayAttributes(v, registry) {
|
|
3519
|
+
const axes = registry.variantAxes.list((a) => a.product_id === v.product_id);
|
|
3520
|
+
const display_attributes = v.axis_value_ids.flatMap((valueId) => {
|
|
3521
|
+
for (const axis of axes) {
|
|
3522
|
+
const value = axis.values.find((vv) => vv.id === valueId);
|
|
3523
|
+
if (value) {
|
|
3524
|
+
return [
|
|
3525
|
+
{
|
|
3526
|
+
axis_id: axis.id,
|
|
3527
|
+
axis_name: axis.name,
|
|
3528
|
+
value_id: value.id,
|
|
3529
|
+
value_name: value.name
|
|
3530
|
+
}
|
|
3531
|
+
];
|
|
3532
|
+
}
|
|
3533
|
+
}
|
|
3534
|
+
return [];
|
|
3535
|
+
});
|
|
3536
|
+
return { ...v, display_attributes };
|
|
3537
|
+
}
|
|
3518
3538
|
function toCanonicalProductSummary(p) {
|
|
3519
3539
|
return {
|
|
3520
3540
|
id: p.id,
|
|
@@ -3608,7 +3628,7 @@ function toApiProduct(p, ctx) {
|
|
|
3608
3628
|
// ─── Embedded relations (ProductWithDetails) ───
|
|
3609
3629
|
category: registry.categories.get(p.category_ids[0]),
|
|
3610
3630
|
add_ons: p.add_on_ids.map((aid) => registry.addOns.get(aid)).filter(Boolean),
|
|
3611
|
-
variants: registry.variants.list((v) => v.product_id === p.id),
|
|
3631
|
+
variants: registry.variants.list((v) => v.product_id === p.id).map((v) => withDisplayAttributes(v, registry)),
|
|
3612
3632
|
variant_axes: registry.variantAxes.list((a) => a.product_id === p.id),
|
|
3613
3633
|
// ─── Composite-specific (CompositeProductLayout reads product.groups) ───
|
|
3614
3634
|
groups,
|
|
@@ -3725,7 +3745,20 @@ function buildBundleComponent(bundleId, productId, p) {
|
|
|
3725
3745
|
function createCatalogueService(opts) {
|
|
3726
3746
|
const { registry, clock, ids } = opts;
|
|
3727
3747
|
const productsForBusiness = (businessId) => registry.products.list((p) => p.business_id === businessId);
|
|
3728
|
-
const variantsForProduct = (productId) => registry.variants.list((v) => v.product_id === productId);
|
|
3748
|
+
const variantsForProduct = (productId) => registry.variants.list((v) => v.product_id === productId).map(enrichVariant);
|
|
3749
|
+
const enrichVariant = (v) => {
|
|
3750
|
+
const axes = registry.variantAxes.list((a) => a.product_id === v.product_id);
|
|
3751
|
+
const display_attributes = v.axis_value_ids.flatMap((valueId) => {
|
|
3752
|
+
for (const axis of axes) {
|
|
3753
|
+
const value = axis.values.find((vv) => vv.id === valueId);
|
|
3754
|
+
if (value) {
|
|
3755
|
+
return [{ axis_id: axis.id, axis_name: axis.name, value_id: value.id, value_name: value.name }];
|
|
3756
|
+
}
|
|
3757
|
+
}
|
|
3758
|
+
return [];
|
|
3759
|
+
});
|
|
3760
|
+
return { ...v, display_attributes };
|
|
3761
|
+
};
|
|
3729
3762
|
const axesForProduct = (productId) => registry.variantAxes.list((a) => a.product_id === productId);
|
|
3730
3763
|
const addOnLinksForProduct = (productId) => registry.productAddOns.list((l) => l.product_id === productId);
|
|
3731
3764
|
const apiProduct = (p) => {
|
|
@@ -3801,7 +3834,7 @@ function createCatalogueService(opts) {
|
|
|
3801
3834
|
if (!v || v.product_id !== productId) {
|
|
3802
3835
|
throw notFound(`Variant ${variantId} not found on product ${productId}`);
|
|
3803
3836
|
}
|
|
3804
|
-
return v;
|
|
3837
|
+
return enrichVariant(v);
|
|
3805
3838
|
},
|
|
3806
3839
|
findProductVariant(productId, properties) {
|
|
3807
3840
|
const variants = variantsForProduct(productId);
|
|
@@ -4212,18 +4245,49 @@ function toUICart(registry, cart) {
|
|
|
4212
4245
|
const variant = i.variant_id ? registry.variants.get(i.variant_id) : void 0;
|
|
4213
4246
|
const cfg = i.configuration;
|
|
4214
4247
|
const variantName = variant ? variantDisplayName(registry, variant) : "";
|
|
4248
|
+
const variantDisplayAttributes = variant ? variant.axis_value_ids.flatMap((valueId) => {
|
|
4249
|
+
for (const axis of registry.variantAxes.list((a) => a.product_id === variant.product_id)) {
|
|
4250
|
+
const v = axis.values.find((vv) => vv.id === valueId);
|
|
4251
|
+
if (v) return [{ axis_id: axis.id, axis_name: axis.name, value_id: v.id, value_name: v.name }];
|
|
4252
|
+
}
|
|
4253
|
+
return [];
|
|
4254
|
+
}) : void 0;
|
|
4215
4255
|
const baseName = product?.name ?? "Unknown product";
|
|
4256
|
+
const isBundle = cfg.type === "bundle";
|
|
4257
|
+
const isComposite = cfg.type === "composite";
|
|
4216
4258
|
return {
|
|
4217
4259
|
id: i.id,
|
|
4218
4260
|
cart_id: i.cart_id,
|
|
4219
4261
|
item_id: i.item_id,
|
|
4220
4262
|
variant_id: i.variant_id,
|
|
4221
4263
|
variant_name: variantName || void 0,
|
|
4222
|
-
variant_info: variant ? {
|
|
4264
|
+
variant_info: variant ? {
|
|
4265
|
+
id: variant.id,
|
|
4266
|
+
name: variantName,
|
|
4267
|
+
sku: variant.sku,
|
|
4268
|
+
price_adjustment: variant.price_adjustment,
|
|
4269
|
+
display_attributes: variantDisplayAttributes,
|
|
4270
|
+
images: variant.images
|
|
4271
|
+
} : void 0,
|
|
4272
|
+
variant_details: variant ? {
|
|
4273
|
+
variant_id: variant.id,
|
|
4274
|
+
sku: variant.sku,
|
|
4275
|
+
properties: variant.axis_value_ids.reduce((acc, valueId) => {
|
|
4276
|
+
for (const axis of registry.variantAxes.list((a) => a.product_id === variant.product_id)) {
|
|
4277
|
+
const v = axis.values.find((vv) => vv.id === valueId);
|
|
4278
|
+
if (v) acc[axis.name] = v.name;
|
|
4279
|
+
}
|
|
4280
|
+
return acc;
|
|
4281
|
+
}, {})
|
|
4282
|
+
} : void 0,
|
|
4223
4283
|
quantity: i.quantity,
|
|
4224
4284
|
line_key: i.line_key,
|
|
4225
4285
|
line_type: cfg.type,
|
|
4226
4286
|
name: baseName,
|
|
4287
|
+
description: product?.description,
|
|
4288
|
+
image_url: product?.image,
|
|
4289
|
+
category_id: product?.category_ids?.[0],
|
|
4290
|
+
category_name: product?.category_ids?.[0] ? registry.categories.get(product.category_ids[0])?.name : void 0,
|
|
4227
4291
|
is_available: product?.is_available ?? true,
|
|
4228
4292
|
base_price: i.price,
|
|
4229
4293
|
add_ons_price: i.add_ons_price,
|
|
@@ -4235,7 +4299,26 @@ function toUICart(registry, cart) {
|
|
|
4235
4299
|
add_on_details: cfg.add_ons ?? { selected_options: [], total_add_on_price: ZERO, add_ons: [] },
|
|
4236
4300
|
add_on_options: cfg.add_ons?.selected_options ?? [],
|
|
4237
4301
|
add_ons: cfg.add_ons?.add_ons ?? [],
|
|
4302
|
+
// Service / scheduling
|
|
4303
|
+
scheduled_start: i.scheduled_start,
|
|
4304
|
+
scheduled_end: i.scheduled_end,
|
|
4305
|
+
staff_id: i.staff_id,
|
|
4306
|
+
resource_id: i.resource_id,
|
|
4307
|
+
service_status: i.service_status,
|
|
4308
|
+
confirmation_code: i.confirmation_code,
|
|
4309
|
+
// Customization
|
|
4310
|
+
special_instructions: i.special_instructions,
|
|
4311
|
+
customer_inputs: i.customer_inputs,
|
|
4312
|
+
// Bundle / composite resolved breakdowns
|
|
4313
|
+
bundle_selections: isBundle ? cfg.input : void 0,
|
|
4314
|
+
bundle_resolved: isBundle ? cfg.resolved : void 0,
|
|
4315
|
+
composite_selections: isComposite ? cfg.input : void 0,
|
|
4316
|
+
composite_resolved: isComposite ? cfg.resolved : void 0,
|
|
4317
|
+
// Billing / discounts / metadata
|
|
4318
|
+
billing_plan_id: i.billing_plan_id,
|
|
4238
4319
|
applied_discount_ids: i.applied_discount_ids,
|
|
4320
|
+
discount_details: void 0,
|
|
4321
|
+
metadata: i.metadata,
|
|
4239
4322
|
created_at: i.created_at,
|
|
4240
4323
|
updated_at: i.updated_at
|
|
4241
4324
|
};
|
|
@@ -4246,7 +4329,9 @@ function toUICart(registry, cart) {
|
|
|
4246
4329
|
tax_amount: cart.tax_amount,
|
|
4247
4330
|
service_charge: cart.service_charge,
|
|
4248
4331
|
total_price: cart.total_price,
|
|
4249
|
-
currency: cart.currency
|
|
4332
|
+
currency: cart.currency,
|
|
4333
|
+
tax_rate: cart.tax_rate,
|
|
4334
|
+
service_charge_rate: cart.service_charge_rate
|
|
4250
4335
|
},
|
|
4251
4336
|
customer_info: {
|
|
4252
4337
|
name: cart.customer_name,
|
|
@@ -4432,6 +4517,7 @@ function createCartService(opts) {
|
|
|
4432
4517
|
existing.quantity += body.quantity;
|
|
4433
4518
|
existing.updated_at = clock.iso();
|
|
4434
4519
|
} else {
|
|
4520
|
+
const isService = product.product_type === "service";
|
|
4435
4521
|
const item = {
|
|
4436
4522
|
id: ids.cartItem(),
|
|
4437
4523
|
cart_id: cart.id,
|
|
@@ -4444,6 +4530,15 @@ function createCartService(opts) {
|
|
|
4444
4530
|
configuration,
|
|
4445
4531
|
applied_discount_ids: [],
|
|
4446
4532
|
item_discount_amount: ZERO2,
|
|
4533
|
+
scheduled_start: body.scheduled_start,
|
|
4534
|
+
scheduled_end: body.scheduled_end,
|
|
4535
|
+
staff_id: body.staff_id,
|
|
4536
|
+
resource_id: body.resource_id,
|
|
4537
|
+
service_status: isService && body.scheduled_start ? "pending" : void 0,
|
|
4538
|
+
special_instructions: body.special_instructions,
|
|
4539
|
+
customer_inputs: body.customer_inputs,
|
|
4540
|
+
billing_plan_id: body.billing_plan_id,
|
|
4541
|
+
metadata: body.metadata,
|
|
4447
4542
|
created_at: clock.iso(),
|
|
4448
4543
|
updated_at: clock.iso()
|
|
4449
4544
|
};
|
package/dist/mock/msw.mjs
CHANGED
|
@@ -3513,6 +3513,26 @@ function defaultPriceInfo(price, currency) {
|
|
|
3513
3513
|
}
|
|
3514
3514
|
|
|
3515
3515
|
// src/mock/domain/catalogue/product-shape.ts
|
|
3516
|
+
function withDisplayAttributes(v, registry) {
|
|
3517
|
+
const axes = registry.variantAxes.list((a) => a.product_id === v.product_id);
|
|
3518
|
+
const display_attributes = v.axis_value_ids.flatMap((valueId) => {
|
|
3519
|
+
for (const axis of axes) {
|
|
3520
|
+
const value = axis.values.find((vv) => vv.id === valueId);
|
|
3521
|
+
if (value) {
|
|
3522
|
+
return [
|
|
3523
|
+
{
|
|
3524
|
+
axis_id: axis.id,
|
|
3525
|
+
axis_name: axis.name,
|
|
3526
|
+
value_id: value.id,
|
|
3527
|
+
value_name: value.name
|
|
3528
|
+
}
|
|
3529
|
+
];
|
|
3530
|
+
}
|
|
3531
|
+
}
|
|
3532
|
+
return [];
|
|
3533
|
+
});
|
|
3534
|
+
return { ...v, display_attributes };
|
|
3535
|
+
}
|
|
3516
3536
|
function toCanonicalProductSummary(p) {
|
|
3517
3537
|
return {
|
|
3518
3538
|
id: p.id,
|
|
@@ -3606,7 +3626,7 @@ function toApiProduct(p, ctx) {
|
|
|
3606
3626
|
// ─── Embedded relations (ProductWithDetails) ───
|
|
3607
3627
|
category: registry.categories.get(p.category_ids[0]),
|
|
3608
3628
|
add_ons: p.add_on_ids.map((aid) => registry.addOns.get(aid)).filter(Boolean),
|
|
3609
|
-
variants: registry.variants.list((v) => v.product_id === p.id),
|
|
3629
|
+
variants: registry.variants.list((v) => v.product_id === p.id).map((v) => withDisplayAttributes(v, registry)),
|
|
3610
3630
|
variant_axes: registry.variantAxes.list((a) => a.product_id === p.id),
|
|
3611
3631
|
// ─── Composite-specific (CompositeProductLayout reads product.groups) ───
|
|
3612
3632
|
groups,
|
|
@@ -3723,7 +3743,20 @@ function buildBundleComponent(bundleId, productId, p) {
|
|
|
3723
3743
|
function createCatalogueService(opts) {
|
|
3724
3744
|
const { registry, clock, ids } = opts;
|
|
3725
3745
|
const productsForBusiness = (businessId) => registry.products.list((p) => p.business_id === businessId);
|
|
3726
|
-
const variantsForProduct = (productId) => registry.variants.list((v) => v.product_id === productId);
|
|
3746
|
+
const variantsForProduct = (productId) => registry.variants.list((v) => v.product_id === productId).map(enrichVariant);
|
|
3747
|
+
const enrichVariant = (v) => {
|
|
3748
|
+
const axes = registry.variantAxes.list((a) => a.product_id === v.product_id);
|
|
3749
|
+
const display_attributes = v.axis_value_ids.flatMap((valueId) => {
|
|
3750
|
+
for (const axis of axes) {
|
|
3751
|
+
const value = axis.values.find((vv) => vv.id === valueId);
|
|
3752
|
+
if (value) {
|
|
3753
|
+
return [{ axis_id: axis.id, axis_name: axis.name, value_id: value.id, value_name: value.name }];
|
|
3754
|
+
}
|
|
3755
|
+
}
|
|
3756
|
+
return [];
|
|
3757
|
+
});
|
|
3758
|
+
return { ...v, display_attributes };
|
|
3759
|
+
};
|
|
3727
3760
|
const axesForProduct = (productId) => registry.variantAxes.list((a) => a.product_id === productId);
|
|
3728
3761
|
const addOnLinksForProduct = (productId) => registry.productAddOns.list((l) => l.product_id === productId);
|
|
3729
3762
|
const apiProduct = (p) => {
|
|
@@ -3799,7 +3832,7 @@ function createCatalogueService(opts) {
|
|
|
3799
3832
|
if (!v || v.product_id !== productId) {
|
|
3800
3833
|
throw notFound(`Variant ${variantId} not found on product ${productId}`);
|
|
3801
3834
|
}
|
|
3802
|
-
return v;
|
|
3835
|
+
return enrichVariant(v);
|
|
3803
3836
|
},
|
|
3804
3837
|
findProductVariant(productId, properties) {
|
|
3805
3838
|
const variants = variantsForProduct(productId);
|
|
@@ -4210,18 +4243,49 @@ function toUICart(registry, cart) {
|
|
|
4210
4243
|
const variant = i.variant_id ? registry.variants.get(i.variant_id) : void 0;
|
|
4211
4244
|
const cfg = i.configuration;
|
|
4212
4245
|
const variantName = variant ? variantDisplayName(registry, variant) : "";
|
|
4246
|
+
const variantDisplayAttributes = variant ? variant.axis_value_ids.flatMap((valueId) => {
|
|
4247
|
+
for (const axis of registry.variantAxes.list((a) => a.product_id === variant.product_id)) {
|
|
4248
|
+
const v = axis.values.find((vv) => vv.id === valueId);
|
|
4249
|
+
if (v) return [{ axis_id: axis.id, axis_name: axis.name, value_id: v.id, value_name: v.name }];
|
|
4250
|
+
}
|
|
4251
|
+
return [];
|
|
4252
|
+
}) : void 0;
|
|
4213
4253
|
const baseName = product?.name ?? "Unknown product";
|
|
4254
|
+
const isBundle = cfg.type === "bundle";
|
|
4255
|
+
const isComposite = cfg.type === "composite";
|
|
4214
4256
|
return {
|
|
4215
4257
|
id: i.id,
|
|
4216
4258
|
cart_id: i.cart_id,
|
|
4217
4259
|
item_id: i.item_id,
|
|
4218
4260
|
variant_id: i.variant_id,
|
|
4219
4261
|
variant_name: variantName || void 0,
|
|
4220
|
-
variant_info: variant ? {
|
|
4262
|
+
variant_info: variant ? {
|
|
4263
|
+
id: variant.id,
|
|
4264
|
+
name: variantName,
|
|
4265
|
+
sku: variant.sku,
|
|
4266
|
+
price_adjustment: variant.price_adjustment,
|
|
4267
|
+
display_attributes: variantDisplayAttributes,
|
|
4268
|
+
images: variant.images
|
|
4269
|
+
} : void 0,
|
|
4270
|
+
variant_details: variant ? {
|
|
4271
|
+
variant_id: variant.id,
|
|
4272
|
+
sku: variant.sku,
|
|
4273
|
+
properties: variant.axis_value_ids.reduce((acc, valueId) => {
|
|
4274
|
+
for (const axis of registry.variantAxes.list((a) => a.product_id === variant.product_id)) {
|
|
4275
|
+
const v = axis.values.find((vv) => vv.id === valueId);
|
|
4276
|
+
if (v) acc[axis.name] = v.name;
|
|
4277
|
+
}
|
|
4278
|
+
return acc;
|
|
4279
|
+
}, {})
|
|
4280
|
+
} : void 0,
|
|
4221
4281
|
quantity: i.quantity,
|
|
4222
4282
|
line_key: i.line_key,
|
|
4223
4283
|
line_type: cfg.type,
|
|
4224
4284
|
name: baseName,
|
|
4285
|
+
description: product?.description,
|
|
4286
|
+
image_url: product?.image,
|
|
4287
|
+
category_id: product?.category_ids?.[0],
|
|
4288
|
+
category_name: product?.category_ids?.[0] ? registry.categories.get(product.category_ids[0])?.name : void 0,
|
|
4225
4289
|
is_available: product?.is_available ?? true,
|
|
4226
4290
|
base_price: i.price,
|
|
4227
4291
|
add_ons_price: i.add_ons_price,
|
|
@@ -4233,7 +4297,26 @@ function toUICart(registry, cart) {
|
|
|
4233
4297
|
add_on_details: cfg.add_ons ?? { selected_options: [], total_add_on_price: ZERO, add_ons: [] },
|
|
4234
4298
|
add_on_options: cfg.add_ons?.selected_options ?? [],
|
|
4235
4299
|
add_ons: cfg.add_ons?.add_ons ?? [],
|
|
4300
|
+
// Service / scheduling
|
|
4301
|
+
scheduled_start: i.scheduled_start,
|
|
4302
|
+
scheduled_end: i.scheduled_end,
|
|
4303
|
+
staff_id: i.staff_id,
|
|
4304
|
+
resource_id: i.resource_id,
|
|
4305
|
+
service_status: i.service_status,
|
|
4306
|
+
confirmation_code: i.confirmation_code,
|
|
4307
|
+
// Customization
|
|
4308
|
+
special_instructions: i.special_instructions,
|
|
4309
|
+
customer_inputs: i.customer_inputs,
|
|
4310
|
+
// Bundle / composite resolved breakdowns
|
|
4311
|
+
bundle_selections: isBundle ? cfg.input : void 0,
|
|
4312
|
+
bundle_resolved: isBundle ? cfg.resolved : void 0,
|
|
4313
|
+
composite_selections: isComposite ? cfg.input : void 0,
|
|
4314
|
+
composite_resolved: isComposite ? cfg.resolved : void 0,
|
|
4315
|
+
// Billing / discounts / metadata
|
|
4316
|
+
billing_plan_id: i.billing_plan_id,
|
|
4236
4317
|
applied_discount_ids: i.applied_discount_ids,
|
|
4318
|
+
discount_details: void 0,
|
|
4319
|
+
metadata: i.metadata,
|
|
4237
4320
|
created_at: i.created_at,
|
|
4238
4321
|
updated_at: i.updated_at
|
|
4239
4322
|
};
|
|
@@ -4244,7 +4327,9 @@ function toUICart(registry, cart) {
|
|
|
4244
4327
|
tax_amount: cart.tax_amount,
|
|
4245
4328
|
service_charge: cart.service_charge,
|
|
4246
4329
|
total_price: cart.total_price,
|
|
4247
|
-
currency: cart.currency
|
|
4330
|
+
currency: cart.currency,
|
|
4331
|
+
tax_rate: cart.tax_rate,
|
|
4332
|
+
service_charge_rate: cart.service_charge_rate
|
|
4248
4333
|
},
|
|
4249
4334
|
customer_info: {
|
|
4250
4335
|
name: cart.customer_name,
|
|
@@ -4430,6 +4515,7 @@ function createCartService(opts) {
|
|
|
4430
4515
|
existing.quantity += body.quantity;
|
|
4431
4516
|
existing.updated_at = clock.iso();
|
|
4432
4517
|
} else {
|
|
4518
|
+
const isService = product.product_type === "service";
|
|
4433
4519
|
const item = {
|
|
4434
4520
|
id: ids.cartItem(),
|
|
4435
4521
|
cart_id: cart.id,
|
|
@@ -4442,6 +4528,15 @@ function createCartService(opts) {
|
|
|
4442
4528
|
configuration,
|
|
4443
4529
|
applied_discount_ids: [],
|
|
4444
4530
|
item_discount_amount: ZERO2,
|
|
4531
|
+
scheduled_start: body.scheduled_start,
|
|
4532
|
+
scheduled_end: body.scheduled_end,
|
|
4533
|
+
staff_id: body.staff_id,
|
|
4534
|
+
resource_id: body.resource_id,
|
|
4535
|
+
service_status: isService && body.scheduled_start ? "pending" : void 0,
|
|
4536
|
+
special_instructions: body.special_instructions,
|
|
4537
|
+
customer_inputs: body.customer_inputs,
|
|
4538
|
+
billing_plan_id: body.billing_plan_id,
|
|
4539
|
+
metadata: body.metadata,
|
|
4445
4540
|
created_at: clock.iso(),
|
|
4446
4541
|
updated_at: clock.iso()
|
|
4447
4542
|
};
|
package/dist/react.d.mts
CHANGED
|
@@ -2036,14 +2036,18 @@ declare function CartDrawerProvider({ children, openOnAdd }: ProviderProps): Rea
|
|
|
2036
2036
|
interface CartDrawerProps {
|
|
2037
2037
|
/** Called when "Checkout" is clicked. Drawer auto-closes first. */
|
|
2038
2038
|
onCheckout?: () => void;
|
|
2039
|
-
/** Called when "Continue Shopping" is clicked. Defaults to closing
|
|
2039
|
+
/** Called when "Continue Shopping" is clicked. Defaults to closing. */
|
|
2040
2040
|
onContinueShopping?: () => void;
|
|
2041
|
-
/**
|
|
2041
|
+
/** Called when the empty state's CTA is clicked. */
|
|
2042
|
+
onShop?: () => void;
|
|
2043
|
+
/** Heading. */
|
|
2042
2044
|
title?: string;
|
|
2043
|
-
/**
|
|
2045
|
+
/** Free-shipping threshold (in business currency, numeric). 0 disables the progress bar. */
|
|
2046
|
+
freeShippingThreshold?: number;
|
|
2047
|
+
/** Custom class on the panel. */
|
|
2044
2048
|
className?: string;
|
|
2045
2049
|
}
|
|
2046
|
-
declare function CartDrawer({ onCheckout, onContinueShopping, title, className, }: CartDrawerProps): React$1.ReactElement
|
|
2050
|
+
declare function CartDrawer({ onCheckout, onContinueShopping, onShop, title, freeShippingThreshold, className, }: CartDrawerProps): React$1.ReactElement;
|
|
2047
2051
|
|
|
2048
2052
|
interface CheckoutPageClassNames {
|
|
2049
2053
|
root?: string;
|
package/dist/react.d.ts
CHANGED
|
@@ -2036,14 +2036,18 @@ declare function CartDrawerProvider({ children, openOnAdd }: ProviderProps): Rea
|
|
|
2036
2036
|
interface CartDrawerProps {
|
|
2037
2037
|
/** Called when "Checkout" is clicked. Drawer auto-closes first. */
|
|
2038
2038
|
onCheckout?: () => void;
|
|
2039
|
-
/** Called when "Continue Shopping" is clicked. Defaults to closing
|
|
2039
|
+
/** Called when "Continue Shopping" is clicked. Defaults to closing. */
|
|
2040
2040
|
onContinueShopping?: () => void;
|
|
2041
|
-
/**
|
|
2041
|
+
/** Called when the empty state's CTA is clicked. */
|
|
2042
|
+
onShop?: () => void;
|
|
2043
|
+
/** Heading. */
|
|
2042
2044
|
title?: string;
|
|
2043
|
-
/**
|
|
2045
|
+
/** Free-shipping threshold (in business currency, numeric). 0 disables the progress bar. */
|
|
2046
|
+
freeShippingThreshold?: number;
|
|
2047
|
+
/** Custom class on the panel. */
|
|
2044
2048
|
className?: string;
|
|
2045
2049
|
}
|
|
2046
|
-
declare function CartDrawer({ onCheckout, onContinueShopping, title, className, }: CartDrawerProps): React$1.ReactElement
|
|
2050
|
+
declare function CartDrawer({ onCheckout, onContinueShopping, onShop, title, freeShippingThreshold, className, }: CartDrawerProps): React$1.ReactElement;
|
|
2047
2051
|
|
|
2048
2052
|
interface CheckoutPageClassNames {
|
|
2049
2053
|
root?: string;
|