@propeller-commerce/propeller-v2-react-ui 0.18.0 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +102 -12
- package/dist/index.cjs +335 -217
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +103 -10
- package/dist/index.d.ts +103 -10
- package/dist/index.js +337 -219
- package/dist/index.js.map +1 -1
- package/dist/pure.cjs +18 -16
- package/dist/pure.cjs.map +1 -1
- package/dist/pure.d.cts +47 -1
- package/dist/pure.d.ts +47 -1
- package/dist/pure.js +19 -17
- package/dist/pure.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -555,7 +555,7 @@ interface AddItemOptions {
|
|
|
555
555
|
onAddToCart?: (product: Product, clusterId?: number, quantity?: number, childItems?: {
|
|
556
556
|
productId: number;
|
|
557
557
|
quantity: number;
|
|
558
|
-
}[], notes?: string, price?: number) => Cart
|
|
558
|
+
}[], notes?: string, price?: number) => Cart | Promise<Cart>;
|
|
559
559
|
/** Fires after the item is added — receives the updated cart and the matched line item. */
|
|
560
560
|
afterAddToCart?: (cart: Cart, item: CartMainItem | null) => void;
|
|
561
561
|
/** When `true`, rejects the add if `product.inventory.totalQuantity` is below `quantity`. */
|
|
@@ -597,6 +597,15 @@ interface UseCartReturn {
|
|
|
597
597
|
cart: Cart;
|
|
598
598
|
item: CartMainItem | null;
|
|
599
599
|
}, string>>;
|
|
600
|
+
/**
|
|
601
|
+
* Adds several products in one call, sequentially, threading the resolved
|
|
602
|
+
* cart id from each add into the next. Use this instead of looping over
|
|
603
|
+
* `addItem` yourself. Stops at the first failure and returns that error.
|
|
604
|
+
*/
|
|
605
|
+
addItems: (items: AddItemOptions[]) => Promise<Result<{
|
|
606
|
+
cart: Cart;
|
|
607
|
+
items: (CartMainItem | null)[];
|
|
608
|
+
}, string>>;
|
|
600
609
|
/** Updates a line item's quantity. */
|
|
601
610
|
updateItemQuantity: (cartItemId: string, quantity: number) => Promise<Cart | undefined>;
|
|
602
611
|
/** Debounced update of a line item's notes (`debounceMs` defaults to 500). */
|
|
@@ -1428,7 +1437,7 @@ interface UseProductSearchOptions {
|
|
|
1428
1437
|
configuration: {
|
|
1429
1438
|
baseCategoryId?: number;
|
|
1430
1439
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1431
|
-
* listings exactly like the SSR seed does
|
|
1440
|
+
* listings exactly like the SSR seed does. */
|
|
1432
1441
|
anonymousUserId?: number;
|
|
1433
1442
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1434
1443
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
@@ -1566,7 +1575,7 @@ interface UseQuickOrderOptions {
|
|
|
1566
1575
|
/** Catalog root. Without it the search returns nothing — see `searchProducts`. */
|
|
1567
1576
|
baseCategoryId?: number;
|
|
1568
1577
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1569
|
-
* listings exactly like the SSR seed does
|
|
1578
|
+
* listings exactly like the SSR seed does. */
|
|
1570
1579
|
anonymousUserId?: number;
|
|
1571
1580
|
};
|
|
1572
1581
|
/** Fires when `submit` creates a fresh cart — persist the cart id. */
|
|
@@ -1681,7 +1690,7 @@ interface UseSparePartsOptions {
|
|
|
1681
1690
|
/** Image filter config, mirroring `useProductSearch`'s `configuration`. */
|
|
1682
1691
|
configuration?: {
|
|
1683
1692
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1684
|
-
* listings exactly like the SSR seed does
|
|
1693
|
+
* listings exactly like the SSR seed does. */
|
|
1685
1694
|
anonymousUserId?: number;
|
|
1686
1695
|
imageSearchFiltersGrid?: unknown;
|
|
1687
1696
|
imageVariantFiltersMedium?: unknown;
|
|
@@ -1798,7 +1807,7 @@ interface UseProductSliderOptions {
|
|
|
1798
1807
|
/** Portal configuration: image search/variant filters. */
|
|
1799
1808
|
configuration?: {
|
|
1800
1809
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1801
|
-
* listings exactly like the SSR seed does
|
|
1810
|
+
* listings exactly like the SSR seed does. */
|
|
1802
1811
|
anonymousUserId?: number;
|
|
1803
1812
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1804
1813
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
@@ -2700,7 +2709,7 @@ interface AddToCartProps {
|
|
|
2700
2709
|
* Callback to handle adding the product to cart.
|
|
2701
2710
|
* If not provided the component calls CartService.addItemToCart internally.
|
|
2702
2711
|
*/
|
|
2703
|
-
onAddToCart?: (product: Product, clusterId?: number, quantity?: number, childItems?: CartChildItemInput[], notes?: string, price?: number, showModal?: boolean) => Cart
|
|
2712
|
+
onAddToCart?: (product: Product, clusterId?: number, quantity?: number, childItems?: CartChildItemInput[], notes?: string, price?: number, showModal?: boolean) => Cart | Promise<Cart>;
|
|
2704
2713
|
/**
|
|
2705
2714
|
* Callback triggered after adding the product to cart.
|
|
2706
2715
|
*/
|
|
@@ -2725,6 +2734,11 @@ interface AddToCartProps {
|
|
|
2725
2734
|
language?: string;
|
|
2726
2735
|
/** Additional CSS class for the root element */
|
|
2727
2736
|
className?: string;
|
|
2737
|
+
/**
|
|
2738
|
+
* Labels for the bonus-items block in the success modal.
|
|
2739
|
+
* Keys: `title` ('Bonus items'), `sku` ('SKU').
|
|
2740
|
+
*/
|
|
2741
|
+
bonusItemsLabels?: Record<string, string>;
|
|
2728
2742
|
/** Callback fired when the "Proceed to checkout" modal button is clicked */
|
|
2729
2743
|
onProceedToCheckout?: () => void;
|
|
2730
2744
|
/** Callback fired when the "Request a Quote" modal button is clicked */
|
|
@@ -3127,6 +3141,12 @@ declare function CartBonusItems(rawProps: CartBonusItemsProps): React$1.JSX.Elem
|
|
|
3127
3141
|
*/
|
|
3128
3142
|
|
|
3129
3143
|
interface CartCarriersProps {
|
|
3144
|
+
/**
|
|
3145
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
3146
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
3147
|
+
* the language the shopper is reading.
|
|
3148
|
+
*/
|
|
3149
|
+
language?: string;
|
|
3130
3150
|
/** Shopping cart object from which the carriers will be displayed */
|
|
3131
3151
|
cart: Cart;
|
|
3132
3152
|
/** The CSS class for the carriers container */
|
|
@@ -3368,7 +3388,8 @@ interface CartIconAndSidebarProps {
|
|
|
3368
3388
|
/**
|
|
3369
3389
|
* Labels for the component.
|
|
3370
3390
|
* Available keys: cartIconLabel, totalLabel, itemsLabel, emptyCart,
|
|
3371
|
-
* continueShopping, qty, total, checkoutButton, cartPageButton,
|
|
3391
|
+
* continueShopping, qty, total, totalExclVat, checkoutButton, cartPageButton,
|
|
3392
|
+
* closeLabel
|
|
3372
3393
|
*/
|
|
3373
3394
|
labels?: Record<string, string>;
|
|
3374
3395
|
/**
|
|
@@ -3475,6 +3496,12 @@ declare function CartOverview(props: CartOverviewProps): React$1.JSX.Element;
|
|
|
3475
3496
|
*/
|
|
3476
3497
|
|
|
3477
3498
|
interface CartPaymethodsProps {
|
|
3499
|
+
/**
|
|
3500
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
3501
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
3502
|
+
* the language the shopper is reading. Resolved from `<PropellerProvider>` when omitted.
|
|
3503
|
+
*/
|
|
3504
|
+
language?: string;
|
|
3478
3505
|
/** Shopping cart object from which the payment methods will be displayed */
|
|
3479
3506
|
cart: Cart;
|
|
3480
3507
|
/** Authenticated user — used for cart creation / lookup. Resolved from `<PropellerProvider>` when not passed explicitly. */
|
|
@@ -3516,10 +3543,18 @@ declare function CartPaymethods(rawProps: CartPaymethodsProps): React$1.JSX.Elem
|
|
|
3516
3543
|
*/
|
|
3517
3544
|
|
|
3518
3545
|
interface CartSummaryProps {
|
|
3546
|
+
/**
|
|
3547
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
3548
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
3549
|
+
* the language the shopper is reading. Resolved from `<PropellerProvider>` when omitted.
|
|
3550
|
+
*/
|
|
3551
|
+
language?: string;
|
|
3519
3552
|
/** The shopping cart used to populate the cart summary data */
|
|
3520
3553
|
cart: Cart;
|
|
3521
3554
|
/** Cart summary block title */
|
|
3522
3555
|
title?: string;
|
|
3556
|
+
/** Extra classes for the panel root, merged over the defaults via tailwind-merge. */
|
|
3557
|
+
className?: string;
|
|
3523
3558
|
/** Labels for the component */
|
|
3524
3559
|
labels?: Record<string, string>;
|
|
3525
3560
|
/** Display the subtotal of the shopping cart. Defaults to `true`. */
|
|
@@ -4724,6 +4759,8 @@ interface GridFiltersProps {
|
|
|
4724
4759
|
/** Translated labels keyed by the slugs used inside the component (see
|
|
4725
4760
|
* `getLabel` calls). Missing keys fall back to the English defaults. */
|
|
4726
4761
|
labels?: Record<string, string>;
|
|
4762
|
+
/** Currency symbol shown in the price-range inputs. Falls back to PropellerInfra.currency, then `'€'`. */
|
|
4763
|
+
currency?: string;
|
|
4727
4764
|
}
|
|
4728
4765
|
/**
|
|
4729
4766
|
* Faceted filter sidebar for a product grid: collapsible attribute checkbox
|
|
@@ -5242,9 +5279,22 @@ interface OrderItemCardProps {
|
|
|
5242
5279
|
* This component is RSC-safe (no hooks, no context), so the host has to pass
|
|
5243
5280
|
* it — there is nothing to read it from. Without it a non-default storefront
|
|
5244
5281
|
* renders default-language names and, worse, default-language slugs in the
|
|
5245
|
-
* links
|
|
5282
|
+
* links.
|
|
5246
5283
|
*/
|
|
5247
5284
|
language?: string;
|
|
5285
|
+
/**
|
|
5286
|
+
* URL builders from the host's configuration. Supply them and the item link
|
|
5287
|
+
* is generated the same way every other link on the storefront is — which is
|
|
5288
|
+
* what carries the locale prefix. Without it the component falls back to a
|
|
5289
|
+
* bare `/product/:id/:slug`, and on a prefixed storefront that link drops the
|
|
5290
|
+
* visitor onto the default language.
|
|
5291
|
+
*/
|
|
5292
|
+
configuration?: {
|
|
5293
|
+
urls?: {
|
|
5294
|
+
getProductUrl?: (product: Product, language?: string) => string;
|
|
5295
|
+
getClusterUrl?: (cluster: Cluster, language?: string) => string;
|
|
5296
|
+
};
|
|
5297
|
+
};
|
|
5248
5298
|
/** Should the item title be a link to the PDP */
|
|
5249
5299
|
titleLinkable?: boolean;
|
|
5250
5300
|
/** Display a small thumbnail of the order item */
|
|
@@ -5276,6 +5326,15 @@ interface OrderItemCardProps {
|
|
|
5276
5326
|
/**
|
|
5277
5327
|
* Renders a single order line item as a table row (with optional indented
|
|
5278
5328
|
* child-item rows), showing image, SKU, quantity, discount and price.
|
|
5329
|
+
*
|
|
5330
|
+
* `orderItem.product` is optional and really can be absent: a product that is
|
|
5331
|
+
* hidden, withdrawn or deleted from the catalog still appears on the orders and
|
|
5332
|
+
* quotes it was sold on, but the API returns no product record for it. Every
|
|
5333
|
+
* product-derived value below therefore falls back to the order item, which
|
|
5334
|
+
* carries its own snapshot of the line — name, sku, quantity and prices — taken
|
|
5335
|
+
* when the order was placed. Such a row renders as plain text: the placeholder
|
|
5336
|
+
* thumbnail, the untranslated `orderItem.name` (there are no localized names to
|
|
5337
|
+
* resolve), and no PDP link (there are no slugs to build one from).
|
|
5279
5338
|
*/
|
|
5280
5339
|
declare function OrderItemCard(props: OrderItemCardProps): React$1.JSX.Element;
|
|
5281
5340
|
|
|
@@ -5319,6 +5378,12 @@ declare function OrderBonusItems(rawProps: OrderBonusItemsProps): React$1.JSX.El
|
|
|
5319
5378
|
*/
|
|
5320
5379
|
|
|
5321
5380
|
interface OrderListProps {
|
|
5381
|
+
/**
|
|
5382
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5383
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5384
|
+
* the language the shopper is reading. Resolved from `<PropellerProvider>` when omitted.
|
|
5385
|
+
*/
|
|
5386
|
+
language?: string;
|
|
5322
5387
|
/** The authenticated user (Contact or Customer). Resolved from PropellerProvider when omitted. */
|
|
5323
5388
|
user?: Contact | Customer | null;
|
|
5324
5389
|
/** The initialized GraphQL Client instance. Resolved from PropellerProvider when omitted. */
|
|
@@ -5465,7 +5530,7 @@ interface QuickOrderProps {
|
|
|
5465
5530
|
*/
|
|
5466
5531
|
baseCategoryId?: number;
|
|
5467
5532
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
5468
|
-
* listings exactly like the SSR seed does
|
|
5533
|
+
* listings exactly like the SSR seed does. */
|
|
5469
5534
|
anonymousUserId?: number;
|
|
5470
5535
|
};
|
|
5471
5536
|
/** Tax zone for price calculation. Defaults to `'NL'`. */
|
|
@@ -5564,6 +5629,12 @@ declare function OrderShipments(props: OrderShipmentsProps): React$1.JSX.Element
|
|
|
5564
5629
|
*/
|
|
5565
5630
|
|
|
5566
5631
|
interface OrderSummaryProps {
|
|
5632
|
+
/**
|
|
5633
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5634
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5635
|
+
* the language the shopper is reading.
|
|
5636
|
+
*/
|
|
5637
|
+
language?: string;
|
|
5567
5638
|
/** The order object from propeller-sdk-v2 */
|
|
5568
5639
|
order: any;
|
|
5569
5640
|
/** The CSS class for the order summary container */
|
|
@@ -5627,6 +5698,12 @@ declare function OrderSummary(props: OrderSummaryProps): React$1.JSX.Element;
|
|
|
5627
5698
|
*/
|
|
5628
5699
|
|
|
5629
5700
|
interface OrderTotalsProps {
|
|
5701
|
+
/**
|
|
5702
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5703
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5704
|
+
* the language the shopper is reading.
|
|
5705
|
+
*/
|
|
5706
|
+
language?: string;
|
|
5630
5707
|
/** The order/quote used to populate the summary data */
|
|
5631
5708
|
order: Order;
|
|
5632
5709
|
/** Order summary block title */
|
|
@@ -5709,6 +5786,12 @@ declare function PriceToggle(props: PriceToggleProps): React$1.JSX.Element;
|
|
|
5709
5786
|
*/
|
|
5710
5787
|
|
|
5711
5788
|
interface ProductBulkPricesProps {
|
|
5789
|
+
/**
|
|
5790
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5791
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5792
|
+
* the language the shopper is reading.
|
|
5793
|
+
*/
|
|
5794
|
+
language?: string;
|
|
5712
5795
|
/**
|
|
5713
5796
|
* Bulk price tiers from the product.
|
|
5714
5797
|
* Obtain from `product.bulkPrices`.
|
|
@@ -5995,6 +6078,8 @@ interface ProductCardProps {
|
|
|
5995
6078
|
* See `ProductPriceProps.labels` for slugs (inclTax, exclTax, loginToSeePrices). */
|
|
5996
6079
|
priceLabels?: Record<string, string>;
|
|
5997
6080
|
/** Replaces the default price block. Receives `PriceComponentProps`. */
|
|
6081
|
+
/** Currency symbol used when formatting the price. Falls back to PropellerInfra.currency, then `'€'`. */
|
|
6082
|
+
currency?: string;
|
|
5998
6083
|
priceComponent?: React$1.ComponentType<_propeller_commerce_propeller_v2_core_ui.PriceComponentProps>;
|
|
5999
6084
|
/** Replaces the default stock/availability block. Receives `StockComponentProps`. */
|
|
6000
6085
|
stockComponent?: React$1.ComponentType<_propeller_commerce_propeller_v2_core_ui.StockComponentProps>;
|
|
@@ -6368,7 +6453,7 @@ interface ProductGridProps {
|
|
|
6368
6453
|
configuration?: {
|
|
6369
6454
|
baseCategoryId?: number;
|
|
6370
6455
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
6371
|
-
* listings exactly like the SSR seed does
|
|
6456
|
+
* listings exactly like the SSR seed does. */
|
|
6372
6457
|
anonymousUserId?: number;
|
|
6373
6458
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
6374
6459
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
@@ -6692,6 +6777,12 @@ declare const ProductInfoExport: ProductInfoComponent;
|
|
|
6692
6777
|
*/
|
|
6693
6778
|
|
|
6694
6779
|
interface ProductPriceProps {
|
|
6780
|
+
/**
|
|
6781
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
6782
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
6783
|
+
* the language the shopper is reading.
|
|
6784
|
+
*/
|
|
6785
|
+
language?: string;
|
|
6695
6786
|
/**
|
|
6696
6787
|
* ProductPrice object from the product.
|
|
6697
6788
|
* Obtain from `product.price`.
|
|
@@ -7461,6 +7552,8 @@ interface SearchBarProps {
|
|
|
7461
7552
|
priceLabels?: Record<string, string>;
|
|
7462
7553
|
/** Additional class name for the container */
|
|
7463
7554
|
containerClassName?: string;
|
|
7555
|
+
/** Extra classes for the search input, merged over the defaults via tailwind-merge. */
|
|
7556
|
+
inputClassName?: string;
|
|
7464
7557
|
/** Tax zone used for price calculation. Defaults to 'NL'. */
|
|
7465
7558
|
taxZone?: string;
|
|
7466
7559
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -555,7 +555,7 @@ interface AddItemOptions {
|
|
|
555
555
|
onAddToCart?: (product: Product, clusterId?: number, quantity?: number, childItems?: {
|
|
556
556
|
productId: number;
|
|
557
557
|
quantity: number;
|
|
558
|
-
}[], notes?: string, price?: number) => Cart
|
|
558
|
+
}[], notes?: string, price?: number) => Cart | Promise<Cart>;
|
|
559
559
|
/** Fires after the item is added — receives the updated cart and the matched line item. */
|
|
560
560
|
afterAddToCart?: (cart: Cart, item: CartMainItem | null) => void;
|
|
561
561
|
/** When `true`, rejects the add if `product.inventory.totalQuantity` is below `quantity`. */
|
|
@@ -597,6 +597,15 @@ interface UseCartReturn {
|
|
|
597
597
|
cart: Cart;
|
|
598
598
|
item: CartMainItem | null;
|
|
599
599
|
}, string>>;
|
|
600
|
+
/**
|
|
601
|
+
* Adds several products in one call, sequentially, threading the resolved
|
|
602
|
+
* cart id from each add into the next. Use this instead of looping over
|
|
603
|
+
* `addItem` yourself. Stops at the first failure and returns that error.
|
|
604
|
+
*/
|
|
605
|
+
addItems: (items: AddItemOptions[]) => Promise<Result<{
|
|
606
|
+
cart: Cart;
|
|
607
|
+
items: (CartMainItem | null)[];
|
|
608
|
+
}, string>>;
|
|
600
609
|
/** Updates a line item's quantity. */
|
|
601
610
|
updateItemQuantity: (cartItemId: string, quantity: number) => Promise<Cart | undefined>;
|
|
602
611
|
/** Debounced update of a line item's notes (`debounceMs` defaults to 500). */
|
|
@@ -1428,7 +1437,7 @@ interface UseProductSearchOptions {
|
|
|
1428
1437
|
configuration: {
|
|
1429
1438
|
baseCategoryId?: number;
|
|
1430
1439
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1431
|
-
* listings exactly like the SSR seed does
|
|
1440
|
+
* listings exactly like the SSR seed does. */
|
|
1432
1441
|
anonymousUserId?: number;
|
|
1433
1442
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1434
1443
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
@@ -1566,7 +1575,7 @@ interface UseQuickOrderOptions {
|
|
|
1566
1575
|
/** Catalog root. Without it the search returns nothing — see `searchProducts`. */
|
|
1567
1576
|
baseCategoryId?: number;
|
|
1568
1577
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1569
|
-
* listings exactly like the SSR seed does
|
|
1578
|
+
* listings exactly like the SSR seed does. */
|
|
1570
1579
|
anonymousUserId?: number;
|
|
1571
1580
|
};
|
|
1572
1581
|
/** Fires when `submit` creates a fresh cart — persist the cart id. */
|
|
@@ -1681,7 +1690,7 @@ interface UseSparePartsOptions {
|
|
|
1681
1690
|
/** Image filter config, mirroring `useProductSearch`'s `configuration`. */
|
|
1682
1691
|
configuration?: {
|
|
1683
1692
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1684
|
-
* listings exactly like the SSR seed does
|
|
1693
|
+
* listings exactly like the SSR seed does. */
|
|
1685
1694
|
anonymousUserId?: number;
|
|
1686
1695
|
imageSearchFiltersGrid?: unknown;
|
|
1687
1696
|
imageVariantFiltersMedium?: unknown;
|
|
@@ -1798,7 +1807,7 @@ interface UseProductSliderOptions {
|
|
|
1798
1807
|
/** Portal configuration: image search/variant filters. */
|
|
1799
1808
|
configuration?: {
|
|
1800
1809
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1801
|
-
* listings exactly like the SSR seed does
|
|
1810
|
+
* listings exactly like the SSR seed does. */
|
|
1802
1811
|
anonymousUserId?: number;
|
|
1803
1812
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1804
1813
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
@@ -2700,7 +2709,7 @@ interface AddToCartProps {
|
|
|
2700
2709
|
* Callback to handle adding the product to cart.
|
|
2701
2710
|
* If not provided the component calls CartService.addItemToCart internally.
|
|
2702
2711
|
*/
|
|
2703
|
-
onAddToCart?: (product: Product, clusterId?: number, quantity?: number, childItems?: CartChildItemInput[], notes?: string, price?: number, showModal?: boolean) => Cart
|
|
2712
|
+
onAddToCart?: (product: Product, clusterId?: number, quantity?: number, childItems?: CartChildItemInput[], notes?: string, price?: number, showModal?: boolean) => Cart | Promise<Cart>;
|
|
2704
2713
|
/**
|
|
2705
2714
|
* Callback triggered after adding the product to cart.
|
|
2706
2715
|
*/
|
|
@@ -2725,6 +2734,11 @@ interface AddToCartProps {
|
|
|
2725
2734
|
language?: string;
|
|
2726
2735
|
/** Additional CSS class for the root element */
|
|
2727
2736
|
className?: string;
|
|
2737
|
+
/**
|
|
2738
|
+
* Labels for the bonus-items block in the success modal.
|
|
2739
|
+
* Keys: `title` ('Bonus items'), `sku` ('SKU').
|
|
2740
|
+
*/
|
|
2741
|
+
bonusItemsLabels?: Record<string, string>;
|
|
2728
2742
|
/** Callback fired when the "Proceed to checkout" modal button is clicked */
|
|
2729
2743
|
onProceedToCheckout?: () => void;
|
|
2730
2744
|
/** Callback fired when the "Request a Quote" modal button is clicked */
|
|
@@ -3127,6 +3141,12 @@ declare function CartBonusItems(rawProps: CartBonusItemsProps): React$1.JSX.Elem
|
|
|
3127
3141
|
*/
|
|
3128
3142
|
|
|
3129
3143
|
interface CartCarriersProps {
|
|
3144
|
+
/**
|
|
3145
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
3146
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
3147
|
+
* the language the shopper is reading.
|
|
3148
|
+
*/
|
|
3149
|
+
language?: string;
|
|
3130
3150
|
/** Shopping cart object from which the carriers will be displayed */
|
|
3131
3151
|
cart: Cart;
|
|
3132
3152
|
/** The CSS class for the carriers container */
|
|
@@ -3368,7 +3388,8 @@ interface CartIconAndSidebarProps {
|
|
|
3368
3388
|
/**
|
|
3369
3389
|
* Labels for the component.
|
|
3370
3390
|
* Available keys: cartIconLabel, totalLabel, itemsLabel, emptyCart,
|
|
3371
|
-
* continueShopping, qty, total, checkoutButton, cartPageButton,
|
|
3391
|
+
* continueShopping, qty, total, totalExclVat, checkoutButton, cartPageButton,
|
|
3392
|
+
* closeLabel
|
|
3372
3393
|
*/
|
|
3373
3394
|
labels?: Record<string, string>;
|
|
3374
3395
|
/**
|
|
@@ -3475,6 +3496,12 @@ declare function CartOverview(props: CartOverviewProps): React$1.JSX.Element;
|
|
|
3475
3496
|
*/
|
|
3476
3497
|
|
|
3477
3498
|
interface CartPaymethodsProps {
|
|
3499
|
+
/**
|
|
3500
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
3501
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
3502
|
+
* the language the shopper is reading. Resolved from `<PropellerProvider>` when omitted.
|
|
3503
|
+
*/
|
|
3504
|
+
language?: string;
|
|
3478
3505
|
/** Shopping cart object from which the payment methods will be displayed */
|
|
3479
3506
|
cart: Cart;
|
|
3480
3507
|
/** Authenticated user — used for cart creation / lookup. Resolved from `<PropellerProvider>` when not passed explicitly. */
|
|
@@ -3516,10 +3543,18 @@ declare function CartPaymethods(rawProps: CartPaymethodsProps): React$1.JSX.Elem
|
|
|
3516
3543
|
*/
|
|
3517
3544
|
|
|
3518
3545
|
interface CartSummaryProps {
|
|
3546
|
+
/**
|
|
3547
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
3548
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
3549
|
+
* the language the shopper is reading. Resolved from `<PropellerProvider>` when omitted.
|
|
3550
|
+
*/
|
|
3551
|
+
language?: string;
|
|
3519
3552
|
/** The shopping cart used to populate the cart summary data */
|
|
3520
3553
|
cart: Cart;
|
|
3521
3554
|
/** Cart summary block title */
|
|
3522
3555
|
title?: string;
|
|
3556
|
+
/** Extra classes for the panel root, merged over the defaults via tailwind-merge. */
|
|
3557
|
+
className?: string;
|
|
3523
3558
|
/** Labels for the component */
|
|
3524
3559
|
labels?: Record<string, string>;
|
|
3525
3560
|
/** Display the subtotal of the shopping cart. Defaults to `true`. */
|
|
@@ -4724,6 +4759,8 @@ interface GridFiltersProps {
|
|
|
4724
4759
|
/** Translated labels keyed by the slugs used inside the component (see
|
|
4725
4760
|
* `getLabel` calls). Missing keys fall back to the English defaults. */
|
|
4726
4761
|
labels?: Record<string, string>;
|
|
4762
|
+
/** Currency symbol shown in the price-range inputs. Falls back to PropellerInfra.currency, then `'€'`. */
|
|
4763
|
+
currency?: string;
|
|
4727
4764
|
}
|
|
4728
4765
|
/**
|
|
4729
4766
|
* Faceted filter sidebar for a product grid: collapsible attribute checkbox
|
|
@@ -5242,9 +5279,22 @@ interface OrderItemCardProps {
|
|
|
5242
5279
|
* This component is RSC-safe (no hooks, no context), so the host has to pass
|
|
5243
5280
|
* it — there is nothing to read it from. Without it a non-default storefront
|
|
5244
5281
|
* renders default-language names and, worse, default-language slugs in the
|
|
5245
|
-
* links
|
|
5282
|
+
* links.
|
|
5246
5283
|
*/
|
|
5247
5284
|
language?: string;
|
|
5285
|
+
/**
|
|
5286
|
+
* URL builders from the host's configuration. Supply them and the item link
|
|
5287
|
+
* is generated the same way every other link on the storefront is — which is
|
|
5288
|
+
* what carries the locale prefix. Without it the component falls back to a
|
|
5289
|
+
* bare `/product/:id/:slug`, and on a prefixed storefront that link drops the
|
|
5290
|
+
* visitor onto the default language.
|
|
5291
|
+
*/
|
|
5292
|
+
configuration?: {
|
|
5293
|
+
urls?: {
|
|
5294
|
+
getProductUrl?: (product: Product, language?: string) => string;
|
|
5295
|
+
getClusterUrl?: (cluster: Cluster, language?: string) => string;
|
|
5296
|
+
};
|
|
5297
|
+
};
|
|
5248
5298
|
/** Should the item title be a link to the PDP */
|
|
5249
5299
|
titleLinkable?: boolean;
|
|
5250
5300
|
/** Display a small thumbnail of the order item */
|
|
@@ -5276,6 +5326,15 @@ interface OrderItemCardProps {
|
|
|
5276
5326
|
/**
|
|
5277
5327
|
* Renders a single order line item as a table row (with optional indented
|
|
5278
5328
|
* child-item rows), showing image, SKU, quantity, discount and price.
|
|
5329
|
+
*
|
|
5330
|
+
* `orderItem.product` is optional and really can be absent: a product that is
|
|
5331
|
+
* hidden, withdrawn or deleted from the catalog still appears on the orders and
|
|
5332
|
+
* quotes it was sold on, but the API returns no product record for it. Every
|
|
5333
|
+
* product-derived value below therefore falls back to the order item, which
|
|
5334
|
+
* carries its own snapshot of the line — name, sku, quantity and prices — taken
|
|
5335
|
+
* when the order was placed. Such a row renders as plain text: the placeholder
|
|
5336
|
+
* thumbnail, the untranslated `orderItem.name` (there are no localized names to
|
|
5337
|
+
* resolve), and no PDP link (there are no slugs to build one from).
|
|
5279
5338
|
*/
|
|
5280
5339
|
declare function OrderItemCard(props: OrderItemCardProps): React$1.JSX.Element;
|
|
5281
5340
|
|
|
@@ -5319,6 +5378,12 @@ declare function OrderBonusItems(rawProps: OrderBonusItemsProps): React$1.JSX.El
|
|
|
5319
5378
|
*/
|
|
5320
5379
|
|
|
5321
5380
|
interface OrderListProps {
|
|
5381
|
+
/**
|
|
5382
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5383
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5384
|
+
* the language the shopper is reading. Resolved from `<PropellerProvider>` when omitted.
|
|
5385
|
+
*/
|
|
5386
|
+
language?: string;
|
|
5322
5387
|
/** The authenticated user (Contact or Customer). Resolved from PropellerProvider when omitted. */
|
|
5323
5388
|
user?: Contact | Customer | null;
|
|
5324
5389
|
/** The initialized GraphQL Client instance. Resolved from PropellerProvider when omitted. */
|
|
@@ -5465,7 +5530,7 @@ interface QuickOrderProps {
|
|
|
5465
5530
|
*/
|
|
5466
5531
|
baseCategoryId?: number;
|
|
5467
5532
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
5468
|
-
* listings exactly like the SSR seed does
|
|
5533
|
+
* listings exactly like the SSR seed does. */
|
|
5469
5534
|
anonymousUserId?: number;
|
|
5470
5535
|
};
|
|
5471
5536
|
/** Tax zone for price calculation. Defaults to `'NL'`. */
|
|
@@ -5564,6 +5629,12 @@ declare function OrderShipments(props: OrderShipmentsProps): React$1.JSX.Element
|
|
|
5564
5629
|
*/
|
|
5565
5630
|
|
|
5566
5631
|
interface OrderSummaryProps {
|
|
5632
|
+
/**
|
|
5633
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5634
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5635
|
+
* the language the shopper is reading.
|
|
5636
|
+
*/
|
|
5637
|
+
language?: string;
|
|
5567
5638
|
/** The order object from propeller-sdk-v2 */
|
|
5568
5639
|
order: any;
|
|
5569
5640
|
/** The CSS class for the order summary container */
|
|
@@ -5627,6 +5698,12 @@ declare function OrderSummary(props: OrderSummaryProps): React$1.JSX.Element;
|
|
|
5627
5698
|
*/
|
|
5628
5699
|
|
|
5629
5700
|
interface OrderTotalsProps {
|
|
5701
|
+
/**
|
|
5702
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5703
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5704
|
+
* the language the shopper is reading.
|
|
5705
|
+
*/
|
|
5706
|
+
language?: string;
|
|
5630
5707
|
/** The order/quote used to populate the summary data */
|
|
5631
5708
|
order: Order;
|
|
5632
5709
|
/** Order summary block title */
|
|
@@ -5709,6 +5786,12 @@ declare function PriceToggle(props: PriceToggleProps): React$1.JSX.Element;
|
|
|
5709
5786
|
*/
|
|
5710
5787
|
|
|
5711
5788
|
interface ProductBulkPricesProps {
|
|
5789
|
+
/**
|
|
5790
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
5791
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
5792
|
+
* the language the shopper is reading.
|
|
5793
|
+
*/
|
|
5794
|
+
language?: string;
|
|
5712
5795
|
/**
|
|
5713
5796
|
* Bulk price tiers from the product.
|
|
5714
5797
|
* Obtain from `product.bulkPrices`.
|
|
@@ -5995,6 +6078,8 @@ interface ProductCardProps {
|
|
|
5995
6078
|
* See `ProductPriceProps.labels` for slugs (inclTax, exclTax, loginToSeePrices). */
|
|
5996
6079
|
priceLabels?: Record<string, string>;
|
|
5997
6080
|
/** Replaces the default price block. Receives `PriceComponentProps`. */
|
|
6081
|
+
/** Currency symbol used when formatting the price. Falls back to PropellerInfra.currency, then `'€'`. */
|
|
6082
|
+
currency?: string;
|
|
5998
6083
|
priceComponent?: React$1.ComponentType<_propeller_commerce_propeller_v2_core_ui.PriceComponentProps>;
|
|
5999
6084
|
/** Replaces the default stock/availability block. Receives `StockComponentProps`. */
|
|
6000
6085
|
stockComponent?: React$1.ComponentType<_propeller_commerce_propeller_v2_core_ui.StockComponentProps>;
|
|
@@ -6368,7 +6453,7 @@ interface ProductGridProps {
|
|
|
6368
6453
|
configuration?: {
|
|
6369
6454
|
baseCategoryId?: number;
|
|
6370
6455
|
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
6371
|
-
* listings exactly like the SSR seed does
|
|
6456
|
+
* listings exactly like the SSR seed does. */
|
|
6372
6457
|
anonymousUserId?: number;
|
|
6373
6458
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
6374
6459
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
@@ -6692,6 +6777,12 @@ declare const ProductInfoExport: ProductInfoComponent;
|
|
|
6692
6777
|
*/
|
|
6693
6778
|
|
|
6694
6779
|
interface ProductPriceProps {
|
|
6780
|
+
/**
|
|
6781
|
+
* Storefront language ('EN', 'NL', …). Decides the number format prices are
|
|
6782
|
+
* rendered in — without it they fall back to Dutch separators regardless of
|
|
6783
|
+
* the language the shopper is reading.
|
|
6784
|
+
*/
|
|
6785
|
+
language?: string;
|
|
6695
6786
|
/**
|
|
6696
6787
|
* ProductPrice object from the product.
|
|
6697
6788
|
* Obtain from `product.price`.
|
|
@@ -7461,6 +7552,8 @@ interface SearchBarProps {
|
|
|
7461
7552
|
priceLabels?: Record<string, string>;
|
|
7462
7553
|
/** Additional class name for the container */
|
|
7463
7554
|
containerClassName?: string;
|
|
7555
|
+
/** Extra classes for the search input, merged over the defaults via tailwind-merge. */
|
|
7556
|
+
inputClassName?: string;
|
|
7464
7557
|
/** Tax zone used for price calculation. Defaults to 'NL'. */
|
|
7465
7558
|
taxZone?: string;
|
|
7466
7559
|
/**
|